BOOL FAR PASCAL DialogProc(HWND hdlg, UINT wm, WPARAM wParam, LPARAM lParam) { BOOL fResult; void FileOpen(); switch(wm) { default: return FALSE; case WM_COMMAND: if(wParam == IDOK) { EndDialog(hdlg, fResult); } else if (wParam == 1000) { MessageBox(hdlg, TEXT( "asdf" ),TEXT( "asdf" ), MB_OK); FileOpen(hdlg); } else { HWND hwndT; hwndT = GetDlgItem(hdlg, wParam-1000); // hwndT = GetDlgItem(hdlg, wParam); if (hwndT != NULL) { // ShowWindow(hwndT, IsWindowVisible(hwndT) ? SW_HIDE : SW_SHOW);// EnableWindow(hwndT, !IsWindowEnabled(hwndT)); } } break; #ifndef AUTOSUBCLASS // NOTNEEDED because we call Ctl3dAutoSubclass #ifdef WIN32 case WM_CTLCOLORMSGBOX: case WM_CTLCOLOREDIT: case WM_CTLCOLORLISTBOX: case WM_CTLCOLORBTN: case WM_CTLCOLORDLG: case WM_CTLCOLORSCROLLBAR: case WM_CTLCOLORSTATIC: #else case WM_CTLCOLOR: #endif // WIN32 return (BOOL) Ctl3dCtlColorEx(wm, wParam, lParam); case WM_INITDIALOG: fResult = Ctl3dEnabled(); fResult = Ctl3dSubclassDlg(hdlg, CTL3D_ALL); break; case WM_SYSCOLORCHANGE: Ctl3dColorChange(); #endif } return TRUE; }
UINT FAR PASCAL Init3dHook (HWND hWnd, UINT iMsg, WPARAM wParam , LPARAM lParam) { if (iMsg == WM_INITDIALOG && Ctl3dEnabled()) Ctl3dSubclassDlg (hWnd, CTL3D_ALL); // lediglich CTL3D aktivieren return FALSE; }