Newsgroup: it.comp.lang.c++
Titolo: Maschere di input: come di fa?

Uso Microsoft Visual C++ 5.0. Vorrei fare una cosa di questo tipo: un
programma che acquisisce delle informazioni di input dall'utente, suddiviso
in diversi passi. In Visual Basic una cosa di questo tipo si realizzerebbe
creando diverse form, e attivandole in sequenza una dopo l'altra. Col Visual
C++, qual'è il modo migliore per fare una cosa di questo tipo? Qual'è il
meccanismo che meglio implementa maschere di input?
Grazie a chiunque vorrà rispondermi.
--
Rimuovere KKK per rispondermi

,

Per rispondere rovescerie la posizione della domanda.
Negli ambienti a finestre si usano i dialoghi per acquisire informazioni
dll'utente.
Windows 9x/Ntx possiede nativamente (oltre alle finestre generiche)
le DialogBox, modali o non modali.
Punto.
Poi In VisualBasic si chiamano form, e cosi' pure in Delphi, mi pare di
ricordare. In VisualC++ hai a disposizione le API CreateDialog e DialogBox
(con le varianti Param e/o Indirect), che poi possono essere adeguatamente
wrappate dal tuo framework preferito, come MFC.
Percio', "il meccanismo che meglio implementa i form" sono le DialogBox,
perche' i form ViasualBasic SONO DialogBox (Questo non e' in realta'
necessariamente vero, dato che il RunTime di VB e' libero di usare
una Window subclassata per simulare un Dialogo, ma questo mi sembra un
argomento che va oltre alla domanda.)
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

argomento che va oltre alla domanda.)
Si, conosco le DialogBox. Poichè l'applicazione deve acquisire diverse
informazioni, suddivise in diverse sezioni, speravo ci fosse un meccanismo
per fare una specie di "scrolling" di videata che acquisiscono le
informazioni. L'utente può spostarsi avanti e indietro in queste schermate
durante la fase di compilazione dei vari moduli informativi. Aprire e
chiudere DialogBox non mi piace molto. Anche se forse anche con le Form VB
sarebbe lo stesso.

 sarebbe lo stesso.
Mai pensato ad una catena di propertysheet?
Ogni foglkio e' un dialogo, e l'utente naviga avanti e indietro usando
le linguette.
L'ho fatto con 5-6 pagine e viene abbastanza bene (dipende tutto dalla
applicazione).



Non ho mai usato le propertysheet, ma ho capito cosa sono. Sai per caso se
si potrebbero rendere non visibili le liguette? Potrei cosě simulare lo
spostamento con dei pulsanti.
Grazie per il supporto che mi stai offrendo.

,

Temo che non si possano definire property-sheet senza linguette.
Occorre fare qualcosa di simile a mano.
La mia idea consisterebbe nel creare 5 (tanto per fare un esempio)
dialoghi senza cornice con CreateDialog() (cosi' la finestra genitrice
puo' ancora avere l'input dell'utente), posizionarli esattamente uno
sopra l'altro e poi gestire in modo robusto una serie di HIDE-SHOW quando
l'utente (premento il bottone a tua scelta) passa da un form all'altro.
Se i dialoghi sono senza cornice, allora l'utente non puo' spostarli o
ridimensionarli. Se li incastri bene nella tua finestra genitrice non si nota
affatto. Ovviamente devi optare per il fatto che la finestra genitrice
non puo' ridimensionarsi, oppure se lo fa devi stare attento a non mostrare
il trucco.


 wrote in message
7gu75l$1aj$1...@serv1.iunet.it...


[...]
Occorre impostare lo stile PSH_WIZARD nella struttura PROPSHEETHEADER per
passare dallo stile con i pulsanti OK, APPLY, CANCEL (con le linguette) allo
stile (wizard) con i pulsanti PREV, NEXT, CANCEL (e senza linguette).
Vedi l'help sull'API -> PropertySheet()
Ciao
Nazzareno