我有一個程序可以獲取多個名稱,並將它們保存在一個文件中。我想爲保存在文件中的每個人創建一個新對象(按鈕,標籤等)。我用這個代碼,但我得到的錯誤:如何使用New關鍵字在VB6中創建新對象,如新按鈕,標籤等
Dim i as new object
set i= new button
,我得到了錯誤: ActiveX組件不能創建對象
我有一個程序可以獲取多個名稱,並將它們保存在一個文件中。我想爲保存在文件中的每個人創建一個新對象(按鈕,標籤等)。我用這個代碼,但我得到的錯誤:如何使用New關鍵字在VB6中創建新對象,如新按鈕,標籤等
Dim i as new object
set i= new button
,我得到了錯誤: ActiveX組件不能創建對象
在你的窗體中添加一個標籤和一個命令按鈕。我假設你已經這樣做了。
選擇標籤,然後在屬性窗口中將lblPerson
設置爲Name
屬性,將0
設置爲Index
屬性。
選擇該按鈕,然後在屬性窗口中將cmdPerson
設置爲Name
屬性,將0
設置爲Index
屬性。
現在你有,你可以動態地在運行時設置兩個Control數組:
Public Sub AddPersonListControls(idx As Long)
Load cmdPerson(idx)
cmdPerson(idx).Caption = "Details"
cmdPerson(idx).Visible = True
cmdPerson(idx).Top = cmdPerson(idx - 1).Top + cmdPerson(idx - 1).Height + 10
cmdPerson(idx).Left = cmdPerson(0).Left
Load lblPerson(idx)
lblPerson(idx).Caption = "Person Name " & idx
lblPerson(idx).Visible = True
lblPerson(idx).Top = lblPerson(idx - 1).Top + lblPerson(idx - 1).Height + 10
lblPerson(idx).Left = lblPerson(0).Left
End Sub
無論你加載你的人的數據,創建相應的控件:
Dim numPersons As Long
numPersons = 3 ' just an example
Dim i As Long
For i = 1 To numPersons - 1
AddPersonListControls i
Next
表單應長相像這樣(注意:Form1.ScaleMode
設置爲3-Pixels
):
說明:
雖然我的回答並不直接與New
關鍵字解決您的問題,它說明你正確的方法如何在動態的情況下增加新的控制你不知道多少,他們應該是,因此通過避免使用Named Controls
並通過使用Array Controls
來代替。
你只問關於創建屏幕控制? 「對象」一詞比這個詞廣泛得多。 – DaveInCaz
我想要一個可點擊的對象,我可以爲每個人顯示一個頁面 – Elias