Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: как динамически объявить ListView Добавлено: 16.05.07 17:48  

Автор вопроса:  KreAtoR
Dim ListView as VB.ListView не катит
его надо подключать отдельно и поэтому я думаю что не VB. ставить надо. А что?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 VisualPaul



ICQ: 402519798 

Вопросов: 12
Ответов: 111
 Профиль | | #1 Добавлено: 16.05.07 21:17
Просто [code]Dim a as new LISTVIEW

Ответить

Номер ответа: 2
Автор ответа:
 VisualPaul



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
Автор ответа:
 VisualPaul



ICQ: 402519798 

Вопросов: 12
Ответов: 111
 Профиль | | #6 Добавлено: 18.05.07 11:17
А
Dim a as new textbox
отличается от
Dim a As vb.textbox
тем,что в 1 случае ты создаёшь объект по образцу уже сузествующего объекта с именемtextbox, а во втором - новый объект класса textbox

Ответить

Номер ответа: 7
Автор ответа:
 KreAtoR



Вопросов: 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
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 21.05.07 10:31
Хм интересно, но если отключить один Чекбокс то все работает.

адрес, тока у меня немецкая версия

Projekt-->Eigenschaften von Projekt1-->Erstellen
отключить
Informationen zu nicht verwendeten Active-X Steuerelementen entfernen

попробую по русски

Проект-->Свойства проекта-->Сделать (в этом меню указывается номер компилируемой версии)--> и надо отключить нижний Чекбокс

интересно почему такие проблематичности?

Ответить

Номер ответа: 9
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #9 Добавлено: 21.05.07 11:07
А подскажите пожалйста. После таково вот объявления работают не все функции от ListView
а в частности это
AllowColumnReorder
Apperance
Arrange
и так далее а самое важное для меня сейчас это
SortOrder
что в принципе тоже не работает :( что делать?

P.S. Неужели Бейсик такой тупой в динамических объявлениях объектов!!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам