Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Eventi per controlli runtime

Sto creando un programma (a dire il vero è un inizio di idea) che potrebbe
essere utilizzato dal progetto leonardo : DataRaptor.
Ho creato delle routine che inseriscono i controlli runtime (testi, linee,
ecc.). Però adesso non riesco a selezionarli, spostarli, ecc...
Ho dato un occhiata a facusPanel (proprio una) e non ho molto chiaro il
funzionamento.
Come faccia a assegnare eventi tipo TextBox1_Change per i controlli creati
runtime?
O meglio è possibile assegnare eventi a questi controlli?
Grazie e ciao
    Sharkman

 runtime?
Forse non hai notato che focuspanel per come č strutturato funziona solo com
matrici di controlli.
E ci va bene cosě, perchč con VB6(5/4/3/2/1) puoi assegnare un evento a un
controllo creato a runtime solo se fa parte di una matrice.
Devi tenerti un controllo con indice 0 che ti faccia da "template" e poi
andare di load/unload per caricare/distruggere i controlli dello stesso
tipo.
Dai un occhio all'help su matrici di controlli e Load
Ciao
------------
Questa č una risposta ritenuta inutile e maleducata da alcuni partecipanti.
(Campagna contro l'abuso del NewsGroup)

 una matrice.
Come al solito nel mondo M$ è vero tutto ed il contrario di tutto.
Se vuoi creare controlli a runtime SENZA avere alcun prototipo
precaricato sul form, ovvero tramite Controls.Add, puoi benissimo
crearli con la direttiva WithEvents, ma solo se NON FANNO PARTE di
matrici :((
--
Ciao, Silv:o)

 controllo creato a runtime solo se fa parte di una matrice.
A me risulta essere esattamente il contrario.
Tratto da MSDN (Dim Withevents):
---
Withevents: [...] Č possibile dichiarare il numero desiderato di
variabili con WithEvents, ma non č possibile creare matrici con
WithEvents. [...]
---
Lokar

 Lokar
Probabilmente solo una piccola confusione nell'uso del termine "assegnare";
la frase credo debba suonare cosi':
"perchè con VB5(4/3/2/1) puoi *gestire* un evento di un controllo creato a
runtime solo se fa parte di una matrice."
in VB6 il "solo" non vale piu', dato che oltre a quanto detto sopra e'
possibile creare i controlli a runtime anche tramite il metodo Controls.Add
e gestire gli eventi con WithEvents, con la limitazione giustamente
ricordata
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 > Lokar
[CUT]
Innanzitutto ringrazio tutti quelli che mi hanno risposto, direttamente e
non.
Il problema è che ho dovuto creare un array di controlli pubblico in un
modulo per poter mantenere delle proprietà e in questo modo non posso
utilizzare WithEvents.
Per inserire utilizzo appunto Controls.Add e assegno dimensione, colore,
ecc. al controllo creato nella form.
Adesso sono riuscito a farli anche spostare (utilizzando DragMode
automatico) ma non riesco a selezionarli. Cioè vorrei che con il click del
mouse (se non sto draggando) mi venisse restituito il nome del controllo per
poi poter far apparire la finestra delle impostazioni per quel campo o
oggetto che sia.
Sto tentando con l'adHook ma non riesco dall'hWnd a risalire al controllo e
a gestirlo... i nedd help...
Ciao e grazie
    Sharkman

 mouse (se non sto draggando) mi venisse restituito il nome del controllo
per
Screen.ActiveControl
Nessun subclassing necessario.


 ------------
Sigh... non funziona, ok per tutte le finestre, ma sui controlli generati
run-time non c'e storia:
    Errore di run time 91
    variabile oggetto o del blocco width non impostata
Ciao
    Sharkman

 ha scritto nel messaggio
news:fq6H8.6104$se2.1...@twister1.libero.it...

Mi correggo, non funziona con le etichette e era verifico anche se con altri
controlli...

 controlli...
Perchè come dicevo in un post, aspramente criticato, le etichette in realtà
non sono controlli e non possono avere il focus (e quindi non possono essere
attive), come puoi notare dal fatto che non espongono gli eventi GotFocus e
LostFocus.
Lo stesso vale per Shape, Line e Image.
Ciao
------------
Questa è una risposta ritenuta inutile e maleducata da alcuni partecipanti.
(Campagna contro l'abuso del NewsGroup)
(Per informazioni: 
http://www.it-lang-vb.net/docs/Manifesto.txt
)