För att skapa knappar från en klass till ett form hur gör man då. Det är mycket enkelt: Jätte tack Andreas för hjälpen . Jag vill skapa fler knappar i form men nu går det bara att använda with Event på den sist skapade. Jag måste lägga alla knapparna i en collection va! Jag provade så här men det funkar inte. Jag vill att classen ska känna av om jag trycker på en knapp i formen.Knappar
class
dim knapp as commandbutton
form
dim a as class
set a =new class
load knapp
nej jag kommer inte längre skulle vilja att det laddades via form_load
Sv: Knappar
<code>
'Class: clsButton
Option Explicit
Private WithEvents mButton As CommandButton
Public Property Get Button() As CommandButton
Set Button = mButton
End Property
Public Property Set Button(Value As CommandButton)
Set mButton = Value
End Property
Private Sub Class_Terminate()
Set mButton = Nothing
End Sub
Private Sub mButton_Click()
MsgBox "Click!!!"
End Sub
'Form: Form1
Option Explicit
Private vTemp As clsButton
Private Sub Form_Load()
Dim NewButton As CommandButton
Set NewButton = Controls.Add("VB.CommandButton", "Test")
NewButton.Caption = "Click Me!"
NewButton.Visible = True
Set vTemp = New clsButton
Set vTemp.Button = NewButton
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set vTemp = Nothing
End Sub
</code>Sv: Knappar
Faaan det känns rörigt i mitt lilla huvud!!
<code>
'Class: clsButton
Option Explicit
dim coll as collection
Private WithEvents mButton As CommandButton
public sub knapp(frmknapp as CommandButton)
i=i+1
coll.add,frmknapp,i
end sub
'Public Property Get Button() As CommandButton
' Set Button = mButton
'End Property
'Public Property Set Button(Value As CommandButton)
' Set mButton = Value
'End Property
Private Sub Class_Terminate()
Set mButton = Nothing
End Sub
Private Sub mButton_Click(här måste jag ange vilken knapp eller????)
MsgBox "Click!!!"
End Sub
'Form: Form1
Option Explicit
Private vTemp As clsButton
Private Sub Form_Load()
Dim NewButton As CommandButton
Set NewButton = Controls.Add("VB.CommandButton", "Test")
NewButton.Caption = "Click Me!"
NewButton.Visible = True
Set vTemp = New clsButton
'Set vTemp.Button = NewButton
set vTemp.Knapp = newButton
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set vTemp = Nothing
End Sub
</code>