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öö
tuleeko se nappi essiin kun formia klikataan vai?
jos ei niin kokeile esim kopsata toi formin load -tapahtumaan....
:P
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
Muistaakseni joskus loadilla sain ne uudet lootat jonneki _kauas_ (leftiksi tuli jotai -48000), kannattaa asettaa nekin arvot noille mitä loaditaan.
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?
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.
Kovasti kiitoksia, nyt taas projekti etenee :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.