Как динамически создать RichTextBox? - VB
Формулировка задачи:
Допустим на компьютере, где будет запускаться программа, нет RichTx32.Ocx и тогда создаётся конструкция вида:
После этого предполагается динамически разместить на форме RichTextBox, но я не знаю как именно его разместить. Приведу аналогию с Label:
Пробовал искать в Object Browser, но не нашёл информации по RichTextBox.
Листинг программы
- Dim b() As Byte
- b = LoadResData(101, "CUSTOM")
- Open "c:\windows\system32\RichTx32.Ocx" For Binary As #1
- Put #1, , b
- Close #1
- Shell "regsvr32 /s RichTx32.Ocx"
Листинг программы
- Set NewLabel = Controls.Add("VB.Label", MyName$)
- With NewLabel
- .Visible = True
- .Caption = "MyCaption"
- .AutoSize = True
- .ForeColor = &H80FF&
- .BackColor = &H404040
- .Left = 100
- .FontBold = True
- .Top = 100
- End With
Вопрос №1
: Что нужно дописать после Controls.Add("VB.???
") Заодно хочу задатьвопрос №2
: Как определить версию и разрядность ОС, чтобы в строке было написано, например: a$ = "Win7", b$ = "x64"Решение задачи: «Как динамически создать RichTextBox?»
textual
Листинг программы
- Option Explicit
- '
- 'Вызываем RichTextBox и изврващаемся над ним...
- '
- Dim WithEvents RTBx As VBControlExtender
- Private Sub RTBx_ObjectEvent(Info As EventInfo)
- Debug.Print Info 'Список событий, >смотри oкно Immidiate
- End Sub
- Private Sub Form_Load()
- On Error Resume Next
- Dim pID$, i&
- pID = "RICHTEXT.RichTextCtrl" 'pID = ProgID
- For i = 1 To 2
- Licenses.Add pID
- Set RTBx = Controls.Add(pID, "RTBx")
- If Not RTBx Is Nothing Then Exit For Else pID = pID & ".1"
- Next
- If RTBx Is Nothing Then
- MsgBox _
- "Компонент не появявился, и вот почему:" & vbLf & _
- "1-Компонент уже заявлен явно в проекте" & vbLf & _
- "2-Неверный ProgId [RICHTEXT.RichTextCtrl]" & vbLf & _
- "3-Неверная лицензия [Licenses.Add ProgId]"
- End If
- With RTBx
- .Move 0, 0, ScaleWidth, ScaleHeight
- .Object.Text = "Привет Народ и CharlyChaplin !"
- .Visible = True
- End With
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д