Проблема с добавлением контролов!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GeminiPro
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 20.07.2008 (Вс) 12:06

Проблема с добавлением контролов!

Сообщение GeminiPro » 04.08.2008 (Пн) 19:43

Доброго времени суток!
Мне необходимо динамически создать TоolBar и добавить на него кнопки, не подключая mscomctrl.ocx на влкадке компонентов! (возникает вопрос зачем? Ответ: потому как динамически добавлять TreeView, ListView, TabStrip получилось только если как раз не подключая mscomctrl.ocx на влкадке компонентов, а если подключить то не будет работать вод код

Код: Выделить всё
Option Explicit

Dim WithEvents ctlDynamic As VBControlExtender
Dim WithEvents ctlText As VB.TextBox
Dim WithEvents ctlCommand As VB.CommandButton




Private Sub ctlCommand_Click()
   ctlText.Text = "You Clicked the Command button"
End Sub

Private Sub ctlDynamic_ObjectEvent(Info As EventInfo)

   If Info.Name = "Click" Then
      MsgBox ctlDynamic.object.SelectedItem.Text
   End If
End Sub

Private Sub Form_Load()
   Dim i As Integer

   Licenses.Add "MSComctlLib.ListViewCtrl" 'Ctrl

   Set ctlDynamic = Controls.Add("MSComctlLib.ListViewCtrl", _
                    "myctl", Form1)

   ctlDynamic.Move 1, 1, 2500, 3500


   For i = 1 To 10
       ctlDynamic.object.ListItems.Add , , "Item " & i
   Next i
   

   ctlDynamic.Visible = True

   ' add a textbox
   Set ctlText = Controls.Add("VB.TextBox", "ctlText1", Form1)

   ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                 1, 2500, 100


   ctlText.BackColor = vbYellow


   ctlText.Visible = True


   Set ctlCommand = Controls.Add("VB.CommandButton", _
                    "ctlCommand1", Form1)


   ctlCommand.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                    ctlText.Height + 50, 1500, 500

   ctlCommand.Caption = "Click Me"

   ctlCommand.Visible = True
End Sub


Ну или решить проблему добавление ListView, TreeView под другому тогда отпадет проблема динамически добавлять ToolBar!

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Сообщение Atoman » 04.08.2008 (Пн) 20:41

Код: Выделить всё
Licenses.Add "MSComctlLib.Toolbar"
Set ctlDynamic = Controls.Add("MSComctlLib.Toolbar", "myctl", Form1)

GeminiPro
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 20.07.2008 (Вс) 12:06

Сообщение GeminiPro » 06.08.2008 (Ср) 20:24

Atoman писал(а):
Код: Выделить всё
Licenses.Add "MSComctlLib.Toolbar"
Set ctlDynamic = Controls.Add("MSComctlLib.Toolbar", "myctl", Form1)


Во первых не так, во вторых меня интересует вопрос как потом кнопки добавить на него!

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Сообщение Atoman » 06.08.2008 (Ср) 21:17

Ну раз не так, тогда API>CreateWindowEx, CreateToolbarEx

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 07.08.2008 (Чт) 7:52

GeminiPro
А ты видел на форуме есть топик в котором выкладывали эти контролы в формате ctl? - очень удобно и никакие ocx'ы не нужны
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 14

    TopList