PDA

Visualizza la versione completa : [VC++] Aprire finestra con risultati


virusbye
30-11-2003, 19:09
Sto facendo un programma in VC++.

Il programma prende dei valori in input dai vari Editbox, li processa e qui vorrei che alla pressione del bottone "calcola", la mia parte di codice aprisse una finestra con una editbox con dentro i risultati.

1 - come apro un'altra dialog da quella principale?
2 - come posso passare i dati dalla dialog principale alla dialog dei risultati?

grazie! :)

virusbye
01-12-2003, 15:24
UP :)

$$$
01-12-2003, 15:34
aprire una finestra
da un resource dialoig template o crearne una al volo?

virusbye
01-12-2003, 15:57
Originariamente inviato da $$$
aprire una finestra
da un resource dialoig template o crearne una al volo?

La dialog l'ho gi creata! :dh:
ma qual'e' il codice del bottone dalla dialog principale per aprirla?
Come posso passare i dati DALLA dialog principale ALLA dialog "risultati"? (qui potrei usare variabili globali)

$$$
01-12-2003, 16:04
Originariamente inviato da virusbye
La dialog l'ho gi creata! :dh:
ma qual'e' il codice del bottone dalla dialog principale per aprirla?
Come posso passare i dati DALLA dialog principale ALLA dialog "risultati"? (qui potrei usare variabili globali)


usa l'api
__imp__CreateDialogParamA@20 da user32.dll
oppure __imp__DialogBoxParamA@20 da user32.dll

x creare la finestra secondaria...

poi x settare il valore di un controllo
puoi usare __imp__SendMessageA@16 da user32.dll
oppure __imp__SetWindowTextA@8 da user32.dll
oppure __imp__SetDlgItemTextA@12 da user32.dll

virusbye
01-12-2003, 17:41
Originariamente inviato da $$$
usa l'api
__imp__CreateDialogParamA@20 da user32.dll
oppure __imp__DialogBoxParamA@20 da user32.dll

x creare la finestra secondaria...

poi x settare il valore di un controllo
puoi usare __imp__SendMessageA@16 da user32.dll
oppure __imp__SetWindowTextA@8 da user32.dll
oppure __imp__SetDlgItemTextA@12 da user32.dll

non ci siamo capiti... ci sar da mettere un codice del tipo



DlgNuovo pippo;
pippo.CreateWindow();


ecco... come faccio per l'esattezza?

$$$
01-12-2003, 18:53
Originariamente inviato da virusbye
non ci siamo capiti... ci sar da mettere un codice del tipo



DlgNuovo pippo;
pippo.CreateWindow();


ecco... come faccio per l'esattezza?

asp: io nn uso mfc (bleah)
cmq CreateWindow crea una finestra NON da 1 template!

pixer
01-12-2003, 18:57
Originariamente inviato da virusbye
La dialog l'ho gi creata! :dh:
ma qual'e' il codice del bottone dalla dialog principale per aprirla?
Come posso passare i dati DALLA dialog principale ALLA dialog "risultati"? (qui potrei usare variabili globali) i parametri puoi passarli al costruttore.

DlgNuovo pippo(GetSafeHwnd()); //questo passa l'hWnd della finestra
pippo.DoModal(); //visualizza

virusbye
03-12-2003, 16:28
Allora... creo la Dialog (IDD_DIALO1), creo la classe relativa (DialogResult)...

poi vado nel file principale e nel OnClick del bottone che dovrebbe aprire la finestra metto:

DialogResult dlgPippo(GetSafeHwnd());
dlgPippo.DoModal();

oppure

DialogResult dlgPippo;
dlgPippo.DoModal();

Ma non va... ho provato diverse varianti ... ma nisba... possibile aprire una dialog con VC++? ma nessuno del forum lo ha mai fatto?

Joe Taras
03-12-2003, 17:49
Originariamente inviato da virusbye
Allora... creo la Dialog (IDD_DIALO1), creo la classe relativa (DialogResult)...

poi vado nel file principale e nel OnClick del bottone che dovrebbe aprire la finestra metto:

DialogResult dlgPippo(GetSafeHwnd());
dlgPippo.DoModal();

oppure

DialogResult dlgPippo;
dlgPippo.DoModal();

Ma non va... ho provato diverse varianti ... ma nisba... possibile aprire una dialog con VC++? ma nessuno del forum lo ha mai fatto?

Senti io ne ho create un p tempo fa
questo un esempio.

void CAvvioApp::OnIDoc()
{
CInsDocDlg idocDlg;
idocDlg.DoModal();
}

come vedi uguale a quello che tu hai scritto. Ora vorrei capire precisamente qual il messaggio di errore che esce o cosa non fa

Loading