Newsgroup: it.comp.lang.visual-basic
Titolo: Problema d'ordine sull'asse Z

Ciao..
nella mia applicazione ho bisogno di creare dinamicamente Frame, Label e
TextBox.
Ovviamente ho bisogno che la Label venga visualizzata SOPRA all'oggetto
frame..
come posso fare????
la proprietà ZOrder non funziona,
perche' l'oggetto LABEL appartiene ad un livello + basso dell'oggetto
Frame, come spiegato nelle msdn
===============
I form e icontenitori sono associati a tre livelli grafici. Il livello
posteriore è lo spazio di disegno, nel quale vengono visualizzati i
risultati dei metodi grafici. Nel livello centrale vengono visualizzati
oggetti grafici e controlli Label. Nel livello anteriore vengono
visualizzati tutti i controlli non grafici, quali CommandButton, CheckBox
o ListBox. Gli elementi di un livello superiore coprono tutti gli elementi
contenuti nei livelli inferiori. Il metodo ZOrder dispone gli oggetti solo
all'interno del livello nel quale l'oggetto è visualizzato.
=================
e non posso utilizzare la proprietà PARENT perche' e' di sola lettura...
avete idee???? 
grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:da4acj$u66$1...@news.newsland.it...

Usa Container
Tipo
crei frame , label e poi fai :
set Label.Container = frame
Ciao

 Ciao
Ciao Joshua...
colpa mia dalla fretta mi ero scordato un punto nel mio primo messaggio...
se uso l'attributo container, ottengo l'errore 730 "impossibile trovare il
controllo NOMECONTROLLO"... penso faccia cosi' per via del fatto che i
controlli sono creati dinamicamente....
incollo un pezzetto di codice per farti capie meglio
==========================
    'creo la scheda
    NomeTemp = "scheda" + CStr(contatore)
    Set GenericFrame = Controls.Add("VB.Frame", NomeTemp)
    With GenericFrame
        .Height = 1815
        .Left = 120
        .Width = 8895
        .Caption = "Posizione" & (contatore + 1)
        .Top = (1820 * contatore)
        .Visible = True
    End With
    'creo l'etichetta matricola
    NomeTemp = "nomematricola" + CStr(contatore)
    Set GenericLabel = Controls.Add("VB.Label", NomeTemp)
    With GenericLabel
        .Height = 375
        .Left = 240
        .Width = 1095
        .Top = (1820 * contatore) + 250
        .Visible = True
        .Caption = "Matricola"
    End With
    GenericLabel.Container = GenericFrame
=====================
dove nometemp e' di tipo stringa, e GenericLabel e GenericFrame sono
rispetivamente un oggetto Label ed un oggetto Frame
grazie per l'aiuto =)
ciao


 > Ciao
dimentico le cose sempre a metà...
volevo solo aggiungere che nonostante l'errore sopradescritto, l'oggetto
GenericFrame esiste, ed e' ben inizializzato...
non solo perche' a runtime viene visualizzato, ma anche perche' se io dopo
la linea che genera l'errore inserisco per esempio un MsgBox
(GenericFrame.Caption) mi restituisce il valore corretto...
ciao ancora =)


 controllo NOMECONTROLLO"...
E' un errore frequente: se con gli oggetti non usi la Set VB tenta di
assegnare la proprietà di default (un grazie agli inventori delle
conversioni implicite).
Ciao

 Ciao
Grazie Zanna...
non ci sarei mai arrivato...
pensavo che il With chiamasse implicitamente una Set per ogni attribuzione.
byezzzzz
