Страница: 1 |
Вопрос: как динамически объявить ListView | Добавлено: 16.05.07 17:48 |
Автор вопроса: ![]() |
Dim ListView as VB.ListView не катит
его надо подключать отдельно и поэтому я думаю что не VB. ставить надо. А что? |
Ответы | Всего ответов: 9 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 402519798 Вопросов: 12 Ответов: 111 |
Профиль | Цитата | #1 | Добавлено: 16.05.07 21:17 |
Просто [code]Dim a as new LISTVIEW |
Номер ответа: 2 Автор ответа: ![]() ![]() ICQ: 402519798 Вопросов: 12 Ответов: 111 |
Профиль | Цитата | #2 | Добавлено: 16.05.07 21:19 |
А сначала сделай listview |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 387093431 Вопросов: 1 Ответов: 70 |
Профиль | Цитата | #3 | Добавлено: 17.05.07 15:56 |
Привет, если ты хочешь действительно создать динамические контролы, тогда все верхние примеры НЕ ВЕРНЫ |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 387093431 Вопросов: 1 Ответов: 70 |
Профиль | Цитата | #4 | Добавлено: 17.05.07 15:56 |
Вот пример
Option Explicit
' If you are adding an ActiveX control at run-time that is ' not referenced in your project, you need to declare it ' as VBControlExtender. 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) ' test for the click event of the TreeView If Info.Name = "Click" Then MsgBox ctlDynamic.object.selecteditem.Text End If End Sub Private Sub Form_Load() Dim i As Integer ' Add the license for the treeview to the license collection. ' If the license is already in the collection you will get ' the run-time error number 732. Licenses.Add "MSComctlLib.ListViewCtrl" 'Ctrl ' Dynamically add a TreeView control to the form. ' If you want the control to be added to a different ' container such as a Frame or PictureBox, you use the third ' parameter of the Controls.Add to specify the container. Set ctlDynamic = Controls.Add("MSComctlLib.ListViewCtrl", _ "myctl", Form1) ' set the location and size of the control. ctlDynamic.Move 1, 1, 2500, 3500 ' Add some nodes to the control. For i = 1 To 10 ctlDynamic.object.ListItems.Add , , "Item " & i Next i ' Make the control visible. ctlDynamic.Visible = True ' add a textbox Set ctlText = Controls.Add("VB.TextBox", "ctlText1", Form1) ' Set the location and size of the textbox ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _ 1, 2500, 100 ' Change the backcolor. ctlText.BackColor = vbYellow ' Make it visible ctlText.Visible = True ' Add a CommandButton. Set ctlCommand = Controls.Add("VB.CommandButton", _ "ctlCommand1", Form1) ' Set the location and size of the CommandButton. ctlCommand.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _ ctlText.Height + 50, 1500, 500 ' Set the caption ctlCommand.Caption = "Click Me" ' Make it visible ctlCommand.Visible = True End Sub |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 387093431 Вопросов: 1 Ответов: 70 |
Профиль | Цитата | #5 | Добавлено: 17.05.07 15:58 |
Да, и еще, исли будеш юзать этот пример, то забери с панели инструментов контрол ListView - (Microsoft Windows Common Controls x.x) |
Номер ответа: 6 Автор ответа: ![]() ![]() ICQ: 402519798 Вопросов: 12 Ответов: 111 |
Профиль | Цитата | #6 | Добавлено: 18.05.07 11:17 |
А Dim a as new textbox отличается от Dim a As vb.textbox тем,что в 1 случае ты создаёшь объект по образцу уже сузествующего объекта с именемtextbox, а во втором - новый объект класса textbox
|
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 120 Ответов: 438 |
Профиль | Цитата | #7 | Добавлено: 21.05.07 10:24 |
2. Сашок
Вроде все ничего но твой пример не работает если на форме нет одного ListView Dim WithEvents ctlDynamic As VBControlExtender Licenses.Add "MSComctlLib.ListViewCtrl" Set ctlDynamic = Controls.Add("MSComctlLib.ListViewCtrl", _ "myctl", Form1) тоесть объявление идет уже по созданному Объекту. и все таки как то его можно объявить? такая же проблема обстоит и с CommonDialog если кто могет выложите как и его объявить!!! |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 120 Ответов: 438 |
Профиль | Цитата | #8 | Добавлено: 21.05.07 10:31 |
Хм интересно, но если отключить один Чекбокс то все работает.
адрес, тока у меня немецкая версия Projekt-->Eigenschaften von Projekt1-->Erstellen отключить Informationen zu nicht verwendeten Active-X Steuerelementen entfernen попробую по русски Проект-->Свойства проекта-->Сделать (в этом меню указывается номер компилируемой версии)--> и надо отключить нижний Чекбокс интересно почему такие проблематичности? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 120 Ответов: 438 |
Профиль | Цитата | #9 | Добавлено: 21.05.07 11:07 |
А подскажите пожалйста. После таково вот объявления работают не все функции от ListView
а в частности это AllowColumnReorder Apperance Arrange и так далее а самое важное для меня сейчас это SortOrder что в принципе тоже не работает ![]() P.S. Неужели Бейсик такой тупой в динамических объявлениях объектов!!!! |
Страница: 1 |
|