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 Property
Omaan 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 Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.