Newsgroup: it.comp.lang.visual-basic
Titolo: container

l'idea sarebbe: se un option cambia in vero/falso, tutti i controlli in un
frame vengono abilitati / disabilitati.
Private Sub ChekOutput()
    Dim c As Control
    For Each c In Me.Controls
        If 
c.Container.Name
 = "frameFields" Then
            c.Enabled = IIf(optLabel, True, False)
        End If
    Next
End Sub
sull'if...then dice
object doesnt support this property / method
se tolgo ".name":
wrong number of arguments or invalid property assignment
col dubbio che un controllo sul form non abbia container (c'e' l'ocx
etichette di marco corona):
    If c.Container <> "" And 
c.Container.Name
 = "frameFields" Then
da' ancora il secondo errore
al momento i controlli da dis/abilitare sono solo una decina, ma temo
crescano.
riesco a farli tutti in un giro solo?
garzie, a.


Cosě al volo:
 Private Sub ChekOutput()
     Dim c As Control
     For Each c In Me.Controls
         If Not TypeOf ctr Is __Nomedeltipo__ Then
             If 
c.Container.Name
 = "frameFields" Then
                 c.Enabled = IIf(optLabel, True, False)
             End If
          endif
     Next
 End Sub
(migliorabile, direi...)
ciao
ugo

 crescano. riesco a farli tutti in un giro solo?
Uhmmm... disabilitare direttamente il frame pare brutto ?
Sempre se l'option è _fuori_ dal frame, di corsa[1] :-)
[1] "of course" in versione ©BabelFish.
Bye, G.

 (migliorabile, direi...)
decisamente migliorabile: oltre a mettere mcetichette nel nome del tipo, ho
anche dovuto cambiare type of ctr in type of c :))
sembra andare benone.
e il codice e' moooolto piu' pulito
grazie mille, a.
mi resta un dubbio. qui tutti i ctrl hanno la propr enabled. e se uno non
l'avesse ? come faccio a capire a runtime se un ctrl ha una particolare
proprieta' ?

 [1] "of course" in versione ŠBabelFish.


Mah, attraverso la vb Extensibility puoi accedere all'insieme Properties di
un controllo, ma solo a design time.
A runtime non credo ti sia possibile senza "grossi" giri di insetti
assortiti... passo.
ciao
ugo

 non li puoi usare ma finche' non ci clicchi non lo scopri...
Bel, la scritta del frame è visibilmente "disabled", ma immagino
non basti. Si potrebbero inserire altre visual clues[1], tipo un bel
Frame1.Visible = False ' :-))))
Va bene, comincio a scappare, che gli architetti mi linciano...
e "quello là" pure.
[1] E  poi non dite che non è vero che l'inglese è più sintetico...
Un Paperino che però la M$ lo fa regolarmente.
P.S.: lo so che non si capisce niente in questo post, ma non
ho tempo di riscriverlo, sono indietro di 5 giorni col lavoro. :-(

 ho tempo di riscriverlo, sono indietro di 5 giorni col lavoro. :-(
mi associo al triste :-(
ciao
un ugo che sta cercando di tornare in pari col lavoro...

 proprieta' ?
la richiami e gestisci l'errore :))
forse troppo semplice?
ciao


Giusto anche questo.
La "gestione dell'errore" è una soluzione che solitamente lascio ai "casi
disperati" comunque è una soluzione.
ciao
ugo

 ha scritto

al limite, ok, anche se concettualmente non e' il massimo della pulizia.
mi e' sempre sembrato uno dei maggiori limiti di vb non poter fare qualcosa
tipo:
    dim c as control, p as property
    for each c in me.controls
        list1.additem 
c.name
        for each p. in c.properties
            list1.additem "- " & 
p.name
in una linguaggio cosi' orientato agli oggetti grafici, proprio nel rad
intendo, e' un limite enorme, imho molto piu' della lentezza congenita.
ciao, j.prop

"casi disperati" comunque č una soluzione.
Se VB avesse try..except..finally non la penseresti cosě :) (in Delphi 
ho fatto programmi il cui controllo del flusso di esecuzione era basato 
unicamente sul raising/trapping delle eccezioni ;)

 unicamente sul raising/trapping delle eccezioni ;)
anche vb genere eccezioni naturalmente mascherate (magari usa un debug
diverso)
ciao

 dipende, se il progetto è di J, rischi solo una morsicatura alla
caviglia...
Beh, dico sempre di essere un cane ad honorem... mi sa che è la
volta che mi tocca dimostrarlo :-)
Un Paperino che almeno con j. non serve l'antirabbica :-)

 Un Paperino che almeno con j. non serve l'antirabbica :-)
no, tu sei di quelli che rischiano solo di essere consumati a leccate !