Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: OCX

Sivun loppuun

kayttaja-3842 [23.06.2006 15:11:43]

#

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:ä.

tesmu [23.06.2006 15:13:53]

#

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

kayttaja-3842 [23.06.2006 15:16:58]

#

siis onko se tosiaan niin et OCX.nappi2.Picture ?

tesmu [23.06.2006 15:27:28]

#

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.

kayttaja-3842 [23.06.2006 16:17:43]

#

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...

kayttaja-3842 [24.06.2006 11:05:45]

#

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...!!!!

nomic [24.06.2006 11:07:45]

#

Tee julkinen aliohjelma ocx:ään:

public sub aliohjelma(teksti as string)
 label1.caption = teksti
end sub

Sitten formilta: usercontrol.aliohjelma "örrr"

JoreSoft [24.06.2006 12:14:34]

#

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

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta