Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Load jutska (vb)

Jäynis [01.04.2005 12:32:04]

#

Miksei nappi näy, tämmönen on koodinpätkä:

Private Sub Form_Click()
   Load Picture1(Picture1.UBound + 1)   'Pictureboxi
   Load Command1(Command1.UBound + 1)   'commandbuttoni eli nappi
   Picture1(Picture1.UBound).Visible = True
   Command1(Command1.UBound).Container =  Picture1(Picture1.UBound)
   Command1(Command1.UBound).Visible = True
End Sub

Edit: pientä säätöö

eraggo [06.04.2005 07:40:39]

#

tuleeko se nappi essiin kun formia klikataan vai?

jos ei niin kokeile esim kopsata toi formin load -tapahtumaan....

:P

BadSource [06.04.2005 09:11:10]

#

Määritteletkö missään missä se nappisi näkyy? Eli napin Left/Top arvot ja pictureboxin Left/Top/Height/Width? Picturebox saattaa olla jossain ruudun ulkopuolella tai se on niin pieni, ettei mikään mikä on sen sisällä näy. Tai sitten napin paikka-arvot on pictureboxin reunojen ulkopuolella. Todennäköisintä on, että ne on kaikki yhdessä kasassa. Kokeile seuraavaa...

Private Sub Form_Click()
    Load Picture1(Picture1.UBound + 1)   'Pictureboxi
    Load Command1(Command1.UBound + 1)   'commandbuttoni eli nappi
    Picture1(Picture1.UBound).Visible = True
    Picture1(Picture1.UBound).ZOrder 'päällimmäiseksi
    Command1(Command1.UBound).Container =  Picture1(Picture1.UBound)
    Command1(Command1.UBound).Visible = True
End Sub

Private Sub Command1_Click(Index As Integer)
    MsgBox Index
End Sub

sooda [06.04.2005 09:30:30]

#

Muistaakseni joskus loadilla sain ne uudet lootat jonneki _kauas_ (leftiksi tuli jotai -48000), kannattaa asettaa nekin arvot noille mitä loaditaan.

Jäynis [06.04.2005 13:39:26]

#

Tarkotuksena tässä ois saada uus Picturebox johon uus nappi ajon aikana, tää on tosin vaan testikoodia.
Ite projektissa ladataan uus Pictureboxi joka toimii tabstripin välilehtenä tabstripille(oisko parempaa keinoa?) ja sen sisään tarttis saada oma kontrolli ladattua mutta sitä ei vaan näy :(
Testasin noi Left, Top, Width ja Height arvot ja kaikki kohillaan.

Edit lisäsin tämmösen rivin napin latauksen perään:

With Picture1(Picture1.ubound)
    .Top = .Top + 1000
    .Left = .Left + 1000
End With

Josta hokasin että se nappi menee alkuperäseen pictureboxiin.
Miten ton voi korjata ja miks ihmeessä se sinne menee?

BadSource [06.04.2005 15:02:10]

#

Muuta rivi

Command1(Command1.UBound).Container =  Picture1(Picture1.UBound)

muotoon

Set Command1(Command1.UBound).Container =  Picture1(Picture1.UBound)

Testikoodina käytetty seuraavaa...

Private Sub Command1_Click(Index As Integer)
    MsgBox "Indexini on " & Index
End Sub

Private Sub Form_DblClick()
    Load Picture1(Picture1.UBound + 1)
    Load Command1(Command1.UBound + 1)
    'laitetaan pictureboxit formille alekkain marginaalina 60 twipsiä
    Picture1(Picture1.UBound).Move 120, 120 + (Picture1.UBound * 425) + (Picture1.UBound * 60)
    Picture1(Picture1.UBound).Visible = True
    Picture1(Picture1.UBound).ZOrder 'päällimmäiseksi
    Set Command1(Command1.UBound).Container = Picture1(Picture1.UBound)
    Command1(Command1.UBound).Move 60, 60
    Command1(Command1.UBound).Visible = True
End Sub

Private Sub Form_Load()
    Picture1(0).Move 120, 120, 1760, 425
    Command1(Command1.UBound).Move 60, 60, 1575, 255
End Sub

Edit: Mitä tulee viimeisimpään kysymykseen, niin koska sinulta puuttuu tuo mainitsemani Set, niin sitä containeria ei muutetaan miksikään, joten se pysyy samana, mikä on Command1(0):llakin, eli se ensimmäinen picturebox.

Jäynis [06.04.2005 18:00:09]

#

Kovasti kiitoksia, nyt taas projekti etenee :)

Vastaus

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

Tietoa sivustosta