View Single Post
Old 22-02-2006, 15:20   #14
17Qwerty71
Senior Member
 
Iscritto dal: Jul 2005
Cittā: San Marino
Messaggi: 309
Ora funziona, almeno in parte

Allora, ho definito queste tre dialog (la prima č quella che fa da contenitore):
Codice PHP:
// Finestra Principale
DIALOGMAIN DIALOG 1010400250
STYLE WS_POPUPWINDOW
|WS_MINIMIZEBOX|WS_VISIBLE
CAPTION 
"NetBriscola (Developed by Davide Giri)"
FONT 8"MS Sans Serif"

BEGIN
END


// Finestra Start
DIALOGSTART DIALOG 1010400250
STYLE WS_CHILD
FONT 8
"MS Sans Serif"

BEGIN
CONTROL          LOGOIMG
300"STATIC"SS_BITMAP130000
GROUPBOX         
"Server or Client"SERVERCLIENTBOX255015050
RADIOBUTTON      
"Modalitā Client"CLIENTRADIOBTN306512012
RADIOBUTTON      
"Modalitā Server"SERVERADIOBTN308012012
RTEXT            
"Host:"HOSTEXT220762010
EDITTEXT         HOSTEDIT
245756512WS_DISABLED
CTEXT            
"Inserisci il tuo nome:"INSERTNAMETEXT011540012
EDITTEXT         NAMEDIT
1701306012
DEFPUSHBUTTON    
"Comincia la Briscola"GOGAMEBTN15016010014
END


// Finestra Client
DIALOGCLIENT DIALOG 1010400250
STYLE WS_CHILD
FONT 8
"MS Sans Serif"
BEGIN
CTEXT            
"Testo Prova"10100040012
END 
Nella procedure della DIALOGMAIN (in WM_INITDIALOG) vi ho inserito queste righe:
Codice PHP:
HINSTANCE currentInstance GetModuleHandle(NULL);
          
hwndDlgStart  CreateDialog(currentInstance MAKEINTRESOURCE(DIALOGSTART), hwndDlgDlgStartProc);
          
hwndDlgClient CreateDialog(currentInstance MAKEINTRESOURCE(DIALOGCLIENT), hwndDlgDlgClientProc);

          
SetProp(hwndDlg"DIALOGSTART", (HANDLE)hwndDlgStart);
          
SetProp(hwndDlg"DIALOGCLIENT", (HANDLE)hwndDlgClient);
          
ShowWindow(hwndDlgStartSW_SHOW); 
Dove hwndDlgStart e hwndDlgClient sono due variabili globali definite in un foglio a parte.

Fin qui tutto bene, ovvero viene mostrata la DIALOGSTART.


Poi nella procedura della DIALOGSTART (DlgStartProc) in risposta alla pressione di un determinato bottone ho inserito queste righe:
Codice PHP:
HINSTANCE currentInstance GetModuleHandle(NULL);
                   
hwndDlgClient CreateDialog(currentInstance MAKEINTRESOURCE(DIALOGCLIENT), hwndDlgDlgClientProc);
                   
SetProp(hwndDlg"DIALOGCLIENT", (HANDLE)hwndDlgClient);
                   
ShowWindow(hwndDlgStartSW_HIDE);
                   
ShowWindow(hwndDlgClientSW_SHOW); 
Mi nasconde la DIALOGSTART ma invece di mostrarmi poi la DIALOGCLIENT mi mostra la DIALOGMAIN


Come mai poi le dialog figlie non vengono visulizzate dall'angolo superiore sinistro della dialog padre, ma un po' rientrate?


Grazie
__________________
17Qwerty71 č offline   Rispondi citando il messaggio o parte di esso