|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Messaggi: n/a
|
(VC++/Win32) Domande sul CreateDialog e ciclo messaggi.
Salve a tutti, vorrei porvi alcune domande inerenti alla creazione di una finestra con le API Win32 in ambiente Visual C++ 6.0
Dunque, immaginate che crei una finestra di dialogo tramite la funzione CreateDialog: hDlg = CreateDialog(hDSInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, SettingsDlgProc); dove il parametro "SettingsDlgProc" è ovviamente una funzione che gestisce il ciclo dei messaggi della finestra appena creata. Supponete che io ora crei una nuova finestra nel modo seguente: hDlg2 = CreateDialog(hDSInst, MAKEINTRESOURCE(IDD_DIALOG2), hDlg, SettingsDlgProc2); come posso far si che un evento che mi arriva su questa finestra venga immediatamente "sbattuto" sulla finestra padre? Grazie a tutti anticipatamente per le risposte e scusatemi se sono stato poco chiaro! |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Poi tieni presente una cosa: come credo tu sappia, CreateDialog crea una dialog non modale. Questo vuol dire che le 2 dialog box che crei possono interagire indipendentemente con l'utente. Con l'unico particolare che la seconda dialog starà sempre visivamente "al di sopra" della prima.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2000
Messaggi: 1459
|
sottoscrivendo tutto quello che ha detto andbin (ovviamente è fondamentale sapere quale tipo di messaggio, intuitivamente suppongo un messaggio user defined ma dipende da cosa devi fare) credo che con una banale sendMessage dovresti cavartela, eventualmente fai in modo che nella msgProc della dialog2 sia visibile l'handle della dialog 1
ciao |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Messaggi: n/a
|
Rieccomi. Innanzi tutto grazie mille per le risposte. Bene, la situazione è questa: devi scrivere una sorgente twain che apre a sua volta un'altra sorgente. A parte il casino incredibile per realizzare sta cosa (a proposito se avete info, esperienze ecc. ecc. sono tutto orecchie), c'è il fatto che twain "comunica" con le applicazioni ridirigendo i suoi messaggi su una finestra. Quindi in realtà i due dialog box che citavo prima, neanche sono mostrati a video, mi servono perché: "dialog1" mi permette di far comunicare l'applicazione chiamante con la sorgente "virtuale" e "dialog2" la sorgente "virtuale" con quella vera (uno scanner per intenderci). A questo punto visto che vorrei che il dialogo fosse "trasparente" in realtà gli eventi scatenati su "dialog2" dovrebbero essere passati tali e quali a "dialog1" che li passerebbe all'applicazione chiamante.
|
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 1459
|
Quote:
![]() ![]() ciao |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:51.