En nyt millään tahdo muistaa, että miten OCX:ää tehdessä pysty viitaamaan jonkun objectin osaan. Eli siis tarkotan et jos on ocx:ä nappi2.Picture, niin miten pystyn tekee niin, että ohjelmassa ocx:ä se näkyy. OCX.Picture2. Eli siis OCX.Picture2 = nappi2.Picture. Toivottavasti tajusitte... Eli nappi2 on OCX:ä.
OCX:n nimi nappi2 ja sit ocx:ssä tollanen picture ominaisuus... Selitin asian niin kuin sen ymmärsin...
Tuo meinaan oli sellaista purjoa tuo selitys, että meinasin laattaa. :D
siis onko se tosiaan niin et OCX.nappi2.Picture ?
Siis haluat jonku oman OCX:n projektiin?
Sitten jos haluat kutsua sitä tällätavalla nappi2.Picture = LoadPicture("jotain") esim tuolleen?
En näköjään tajunnutkaan, että mitä ajoit takaa.
eli siis katos...Kun OCX:ää painaa...Sen asetuksissa tulisi näkyä Picture1 ja Picture2. Picture1 on linkitetty nappi1.pictureen ja Picture2 taas nappi2.pictureen. Eli siis nämä napit ovat OCX:än sisällä...ja sitten vaikka OCX:ä on asetuksissa Teksti sen valueksi vois asentaa vaikka "moi". Sitten tämä teksti tulee OCX:ässä olevan label:in otsikoksi...
Eihän OCX:ässä olevaan label1 captioniin pysty vaikuttaa jos kirjotaa ohjelmaan OCX.label1.caption...Ei sitä löydy. Siis takotan että teen eka itse ocx sielä on siis se label1...Sitten käännän ocx:tä ocx:än. Sitten lisään sen projektiini, tämän jälkeen yritän muuttaa projektissani ocx:ä olevan labelin otsikkoa, mutta en voi viitata siihen ocx.label1 koska label1 ei löydy...Ymmärsittekö nytten paras kyl ois...!!!!
Tee julkinen aliohjelma ocx:ään:
public sub aliohjelma(teksti as string) label1.caption = teksti end sub
Sitten formilta: usercontrol.aliohjelma "örrr"
Tekasin tollasen kun ei muutakaan juuri nyt ollu :)
eli Toi on ActiveX Contolliin tuleva koodi.
Formilla picturebox:it Nappi1 ja Nappi2, sekä lOtsikko label
Formi ja pictureboksit on Scalemode 3 (Pixel)
Public Event Click1()
Public Event DblClick1()
Public Event Click2()
Public Event DblClick2()
Private Sub Nappi1_Click()
RaiseEvent Click1
End Sub
Private Sub Nappi1_DblClick()
RaiseEvent DblClick1
End Sub
Private Sub Nappi2_Click()
RaiseEvent Click2
End Sub
Private Sub Nappi2_DblClick()
RaiseEvent DblClick2
End Sub
'Tähän tulaan kun luettu tietoa
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
Set Nappi1.Picture = PropBag.ReadProperty("Picture1", Nothing)
Set Nappi2.Picture = PropBag.ReadProperty("Picture2", Nothing)
lOtsikko.Caption = PropBag.ReadProperty("Otsikko", lOtsikko)
End Sub
'Tähän tullaan aina kun OCX:n päin annettu tietoa
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Picture1", Picture, Nothing)
Call PropBag.WriteProperty("Picture2", Picture, Nothing)
Call PropBag.WriteProperty("Otsikko", lOtsikko.Caption, "")
End Sub
Public Property Get Otsikko() As String
Otsikko = lOtsikko.Caption
End Property
Public Property Let Otsikko(ByVal Teksti As String)
lOtsikko.Caption = Teksti
PropertyChanged "Otsikko"
End Property
Public Property Get Picture1() As Picture
Set Picture1 = Nappi1.Picture
End Property
Public Property Let Picture1(ByVal Pic As IPictureDisp)
Set Nappi1.Picture = Pic
PropertyChanged "Picture1"
End Property
Public Property Set Picture1(ByVal Pic As IPictureDisp)
Set Nappi1.Picture = Pic
PropertyChanged "Picture1"
End Property
'Returns the value of a property.
Public Property Get Picture2() As Picture
Set Picture2 = Nappi2.Picture
End Property
'Sets the value of a property.
Public Property Let Picture2(ByVal Pic As IPictureDisp)
Set Nappi2.Picture = Pic
PropertyChanged "Picture2"
End Property
'Sets the value of an object property (that is, a property that contains a reference to an object).
Public Property Set Picture2(ByVal Pic As IPictureDisp)
Set Nappi2.Picture = Pic
PropertyChanged "Picture2"
End PropertyOmaan sovellukseen liitettynä toi OCX
Private Sub UserControl11_Click1()
End Sub
Private Sub UserControl11_Click2()
End Sub
Private Sub UserControl11_DblClick1()
End Sub
Private Sub UserControl11_DblClick2()
End Sub
Sub AsetaKuvaNappi1(FileName$)
UserControl11.Picture1 = LoadPicture(FileName)
End Sub
Sub AsetaKuvaNappi2(FileName$)
UserControl11.Picture2 = LoadPicture(FileName)
End Sub
Sub AsetaOtsikko(Name$)
UserControl11.Otsikko = Name
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.