dd92 | Bonjour,
Le bouton "Appliquer", quand je suis sur le dialogue 2 ne s'active pas, alors que dans le dialogue 1, cela fonctionne bien ...
Je ne vois pas pourquoi .... quelqu'un aurait une idée ?
J'ai fait un bout de code ...
Merci d'avance.
Code :
- #include "winproc.h"
- #include "Prsht.h"
- HINSTANCE hInst;
- HWND hWnd;
- HWND hDial;
- BOOL CALLBACK Dial1DlgProc (HWND, UINT, UINT, LONG);
- BOOL CALLBACK Dial2DlgProc (HWND, UINT, UINT, LONG);
- void DoPropertySheet(HWND);
- char szAppName[]="Modification des Proprietes";
- LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
- #define lpnmHDR ((NMHDR *)lParam)
- HDC hdc ;
- PAINTSTRUCT ps ;
- switch (message) {
- case WM_CREATE :
-
- return 0;
- case WM_PAINT :
- hdc = BeginPaint (hwnd, &ps) ;
- TextOut (hdc, 340, 80, "Test - 2006", 11);
- EndPaint (hwnd, &ps) ;
- return 0;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDD_DL1:
- DoPropertySheet(hwnd);
- return 0 ;
-
- }
- return 0 ;
- case WM_DESTROY:
- PostQuitMessage(0);
- return 0;
- }
- return DefWindowProc(hwnd, message, wParam, lParam);
- }
- ////////////////////////////////////////////////////////////////////////////////////////
- BOOL CALLBACK Dial1DlgProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
- {
- switch (message) {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_NOTIFY:
- switch (lpnmHDR->code) {
-
- case PSN_SETACTIVE:
- // MessageBox(NULL, "PSN_SETACTIVE", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_KILLACTIVE:
- // MessageBox(NULL, "PSN_KILLACTIVE", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_APPLY:
- // MessageBox(NULL, "PSN_APPLY", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_RESET:
- // MessageBox(NULL, "PSN_RESET", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_HELP:
- // MessageBox(NULL, "PSN_HELP", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- }
- case WM_COMMAND:
- if (HIWORD (wParam) == EN_CHANGE) {
- SendMessage (GetParent(hwnd), PSM_CHANGED, 0,0);
- break;
- }
- switch (wParam)
- {
- case IDOK1:
- MessageBox(NULL, "IDOK1", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- return 0 ;
- }
- }
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////////
- BOOL CALLBACK Dial2DlgProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
- {
- switch (message) {
- case WM_INITDIALOG:
- return TRUE;
- case WM_NOTIFY:
-
- switch (lpnmHDR->code) {
-
- case PSN_SETACTIVE:
- // MessageBox(NULL, "PSN_SETACTIVE", "Dial2DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_KILLACTIVE:
- // MessageBox(NULL, "PSN_KILLACTIVE", "Dial2DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_APPLY:
- // MessageBox(NULL, "PSN_APPLY", "Dial2DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_RESET:
- // MessageBox(NULL, "PSN_RESET", "Dial1DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- case PSN_HELP:
- // MessageBox(NULL, "PSN_HELP", "Dial2DlgProc", MB_OK|MB_ICONINFORMATION);
- break;
- }
- case WM_COMMAND:
- if (HIWORD (wParam) == EN_CHANGE) {
- SendMessage (GetParent(hwnd), PSM_CHANGED, 0,0);
- break;
- }
- }
- return 0;
- }
- void DoPropertySheet(HWND hwndOwner)
- {
- PROPSHEETPAGE psp[2];
- PROPSHEETHEADER psh;
- psp[0].dwSize = sizeof(PROPSHEETPAGE);
- psp[0].dwFlags = PSP_USETITLE;
- psp[0].hInstance = hInst;
- psp[0].pszTemplate = MAKEINTRESOURCE(IDD_DIALOG1);
- psp[0].pszIcon = NULL;
- psp[0].pfnDlgProc = Dial1DlgProc;
- psp[0].pszTitle = "Page 1";
- psp[0].lParam = 0;
- psp[0].pfnCallback = NULL;
-
- psp[1].dwSize = sizeof(PROPSHEETPAGE);
- psp[1].dwFlags = PSP_USETITLE;
- psp[1].hInstance = hInst;
- psp[1].pszTemplate = MAKEINTRESOURCE(IDD_DIALOG2);
- psp[1].pszIcon = NULL;
- psp[1].pfnDlgProc = Dial2DlgProc;
- psp[1].pszTitle = "Page 2";
- psp[1].lParam = 0;
- psp[1].pfnCallback = NULL;
-
- psh.dwSize = sizeof(PROPSHEETHEADER);
- psh.dwFlags = PSH_PROPSHEETPAGE;
- psh.hwndParent = hwndOwner;
- psh.hInstance = hInst;
- psh.pszIcon = NULL;
- psh.pszCaption = (LPSTR) "Titre de la boite de dialogue";
- psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
- psh.nStartPage = 0;
- psh.ppsp = (LPCPROPSHEETPAGE) &psp;
- psh.pfnCallback = NULL;
- PropertySheet(&psh);
- return;
- }
|
|