Affichage de données traités

Signaler
Messages postés
16
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
20 avril 2011
-
Messages postés
16
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
20 avril 2011
-
Bonjour à tous
voilà , je crée une boîte de dialogue par DialogBox comme fenêtre enfant d'une fenêtre principale
voici le code à peu près:
fenêtre principale
hWnd = CreateWindowEx(0, ClsName,
 WndName,WS_OVERLAPPEDWINDOW,<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

                         440,
50,
940,
900,
NULL,
NULL,
 hInstance,
NULL);
à l'appui d'une d'une commande du menu de cette fenêtre principale je crée
la boîte de dialogue:
dans le WM_CREATE de la feêtre principale

DialogBox(hInst, MAKEINTRESOURCE(IDD_ASSURANCE_TEMPORAIRE), hWnd, (DLGPROC)DlgTemporaireProc);
cette boîte de dialogue comporte plusieurs contrôles sur lesquels je vais récupérer des informations
à l'appui d'un certain boutton de la boîte de dialogue et après traitement traitement des informations récupérées de la boîte je voudrai afficher un certain nombre de résultats sur la fenêtre principale sans fermer la boîte de dialogue
alors je procède ainsi:
dans la procédure de la boîte de dialogue:
RECT rc;
GetclientRc(hWnd, &rc);
hWndAffiche =CreateWindowEx(0, "Edit", "", WS_CHILD | WS_VISIBLE, rc.left, rc.top, rc.right, rc.bottom, hWnd, NULL, hInst, NULL);

SetWindowText(hWndAffiche, "Les résultats");

Mais rien ne s'affiche. dois je fermer la fenêtre de dialogue avant l'affichage ou quel est le problème
Merçi d'avance pour l'assistance

2 réponses

Messages postés
16
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
20 avril 2011

Bonjour à tous
voilà , je crée une boîte de dialogue par DialogBox comme fenêtre enfant d'une fenêtre principale
voici le code à peu près:
fenêtre principale
hWnd = CreateWindowEx(0, ClsName,
 WndName,WS_OVERLAPPEDWINDOW,<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

                         440,
50,
940,
900,
NULL,
NULL,
 hInstance,
NULL);
à l'appui d'une d'une commande du menu de cette fenêtre principale je crée
la boîte de dialogue:
dans le WM_CREATE de la feêtre principale

DialogBox(hInst, MAKEINTRESOURCE(IDD_ASSURANCE_TEMPORAIRE), hWnd, (DLGPROC)DlgTemporaireProc);
cette boîte de dialogue comporte plusieurs contrôles sur lesquels je vais récupérer des informations
à l'appui d'un certain boutton de la boîte de dialogue et après traitement traitement des informations récupérées de la boîte je voudrai afficher un certain nombre de résultats sur la fenêtre principale sans fermer la boîte de dialogue
alors je procède ainsi:
dans la procédure de la boîte de dialogue:
RECT rc;
GetclientRc(hWnd, &rc);
hWndAffiche =CreateWindowEx(0, "Edit", "", WS_CHILD | WS_VISIBLE, rc.left, rc.top, rc.right, rc.bottom, hWnd, NULL, hInst, NULL);

sprintf(resultats, "age : %d    Prime d'assurance  %f etc....", age, prime);
SetWindowText(hWndAffiche, "resultats");

Mais rien ne s'affiche. dois je fermer la fenêtre de dialogue avant l'affichage ou quel est le problème
Merçi d'avance pour l'assistance
Messages postés
16
Date d'inscription
lundi 11 septembre 2006
Statut
Membre
Dernière intervention
20 avril 2011

Bonjour à tous en fait le message précèdent est une précision de la question posée
Maintenant que j'ai pu me rendre compte moi-même de l'erreur
je peux donner la solution pour ceux que ca intéresse:
quand j'ai créé la fenêtre d'affichage comme suit
GetclientRc(hWnd, &rc);
hWndAffiche =CreateWindowEx(0, "Edit", "", WS_CHILD | WS_VISIBLE, rc.left, rc.top, rc.right, rc.bottom, hWnd, NULL, hInst, NULL);<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

j'ai tout simplement oublié de spécifier un identifiant du contrôle Edit par exemple
au lieu de ce qui précède
GetclientRc(hWnd, &rc);
hWndAffiche =CreateWindowEx(0, "Edit", "", WS_CHILD | WS_VISIBLE, rc.left, rc.top, rc.right, rc.bottom, hWnd, (HMENU) IDC_CONTROLE_EDIT, hInst, NULL);

en définissant IDC_CONTROLE_EDIT dans un fichier d'entête *.h
après tout fonctionne correctement