BOOL FAR PASCAL OpenHook(HWND hwnd, UINT wm, WPARAM wParam, LPARAM lParam) { switch (wm) { #ifndef AUTOSUBCLAS // 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); #endif case WM_INITDIALOG: // We must call this to subclass the directory listbox even // if the app calls Ctl3dAutoSubclass (commdlg bug) Ctl3dSubclassDlg(hwnd, CTL3D_ALL); break; } return FALSE; }
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; }
BOOL EXPORT MultiSelectionDlg(HWND hWnd, unsigned msg, WORD wParam, long lParam) { #ifdef INPUTFORM switch (msg) { case WM_INITDIALOG: #ifdef CTL3D if (Kpp3dCtrls()) Ctl3dSubclassDlg(hWnd, CTL3D_ALL); #endif SetProp(hWnd, (LPSTR) piList, idMultiInputList); LoadMultiSelectionDlg(hWnd, idMultiInputList, idMultiTitle); KppInitDialogFont(hWnd, TRUE); SendMessage(GetDlgItem (hWnd, ID_LISTBOX), LB_SETSEL, 1, 0L); idMultiInputList = NULLID; KppCenterPopupWindow(hWnd); return TRUE; #ifdef CTL3D case WM_CTLCOLOR: if (Kpp3dCtrls()) return Ctl3dCtlColorEx(hWnd, wParam, lParam); break; #endif case WM_COMMAND: switch (wParam) { case IDOK: { LISTID idInputList = GetProp(hWnd, (LPSTR) piList); LISTID idList = SaveMultiSelectionDlg(hWnd, idInputList); RemoveProp(hWnd, (LPSTR) piList); EndDialog(hWnd, idList); return TRUE; } case IDCANCEL: RemoveProp(hWnd, (LPSTR) piList); EndDialog(hWnd, NULLID); return TRUE; default: break; } break; default: return FALSE; } #endif return TRUE; }
BOOL EXPORT LBMenuSelectionDlg(HWND hWnd, unsigned msg, WORD wParam, long lParam) { #ifdef INPUTFORM switch (msg) { case WM_INITDIALOG: #ifdef CTL3D if (Kpp3dCtrls()) Ctl3dSubclassDlg(hWnd, CTL3D_ALL); #endif LoadMultiSelectionDlg(hWnd, idLBMenuInputList, idLBMenuTitle); KppInitDialogFont(hWnd, TRUE); SendMessage(GetDlgItem(hWnd, ID_LISTBOX), LB_SETCURSEL, 0, 0L); KppCenterPopupWindow(hWnd); if (wPosSet) SetWindowPos(hWnd, NULL, sMenuXPos, sMenuYPos, 0, 0, SWP_NOSIZE | SWP_NOZORDER); return TRUE; #ifdef CTL3D case WM_CTLCOLOR: if (Kpp3dCtrls()) return Ctl3dCtlColorEx(hWnd, wParam, lParam); break; #endif case WM_COMMAND: switch (wParam) { case ID_LISTBOX: if (HIWORD(lParam) != LBN_DBLCLK) return TRUE; case IDOK: EndDialog(hWnd, SaveLBMenu(hWnd)); return TRUE; case IDCANCEL: EndDialog(hWnd, NULLID); return TRUE; default: break; } break; default: return FALSE; } #endif return TRUE; }
BOOL EXPORT SearchObjDlg(HWND hWnd, WORD msg, WORD wParam, long lParam) { switch (msg) { case WM_INITDIALOG: KppInitDialogFont(hWnd, TRUE); #ifdef CTL3D if (Kpp3dCtrls()) Ctl3dSubclassDlg(hWnd, CTL3D_ALL); #endif hFind = GetDlgItem(hWnd, IDD_FINDTEXT); hName = GetDlgItem(hWnd, IDD_NAME); lpOrigEditProc = (FARPROC) GetWindowLong(hFind, GWL_WNDPROC); SetWindowLong(hFind, GWL_WNDPROC, (long) (FARPROC) FindObjProc); SetWindowLong(hName, GWL_WNDPROC, (long) (FARPROC) FindObjProc); SendMessage(hFind, EM_LIMITTEXT, NAME_LEN, 0L); SendMessage(hName, EM_LIMITTEXT, NAME_LEN, 0L); cCount = 0; SearchedObject = NULLID; SetFocus(hFind); break; #ifdef CTL3D case WM_CTLCOLOR: if (Kpp3dCtrls()) return Ctl3dCtlColorEx(hWnd, wParam, lParam); break; #endif case WM_COMMAND: switch (wParam) { case IDOK: EndDialog(hWnd, TRUE); return TRUE; case IDCANCEL: SearchedObject = NULLID; EndDialog(hWnd, FALSE); return TRUE; } } return FALSE; }
BOOL _DLLFAR _CB_Ctl3dSubclassDlg( HWND h, WORD w ) { return( Ctl3dSubclassDlg( h, w ) ); }
BOOL W_CALLBACK KappaEditObjectDlg(HWND hWndDlg, UINT message, WPARAM wParam, LPARAM lParam) { short sRes, bRet; GLOBALHANDLE hObj = NULL; switch (message) { case WM_INITDIALOG: KppInitDialogFont(hWndDlg, TRUE); #ifdef CTL3D if (Kpp3dCtrls()) Ctl3dSubclassDlg(hWndDlg, CTL3D_ALL); #endif InitEditDlg(hWndDlg, OBJECT); break; case WM_CTLCOLOR: #ifdef CTL3D if (Kpp3dCtrls()) return Ctl3dCtlColorEx(hWndDlg, wParam, lParam); #endif SetBkColor(wParam, GetSysColor(COLOR_WINDOW)); return KppGetBrush(FALSE); case WM_ACTIVATE: if (!wParam || wParam == 2) hEditActive = NULL; else hEditActive = hWndDlg; break; case WM_LBUTTONDOWN: if (hEditActive == hWndDlg) EditParent(hWndDlg, lParam); else hEditActive = hWndDlg; break; case WM_SETFOCUS: { ATOM aFocus = AddAtom("Focus"); HWND hFocus = GetProp(hWndDlg, (LPSTR) aFocus); if (hFocus) { SetFocus(hFocus); return TRUE; } } break; case WM_INITMENUPOPUP: #ifdef OS2_COMP MenuOptions(hWndDlg, (HMENU) wParam, GetDlgItem(hWndDlg, IDDINFO)); PrepareDlgSelection(hWndDlg, (HMENU) wParam); #else if (LOWORD(lParam) == 1) EditMenuOptions(hWndDlg, GetDlgItem(hWndDlg, IDDINFO)); else if ((LOWORD(lParam) == 2) || (LOWORD(lParam) == 3)) PrepareDlgSelection(hWndDlg); #endif break; case WM_SIZE: if (wParam != SIZEICONIC) SetProp(hWndDlg, pIconized, FALSE); else { SetProp(hWndDlg, pIconized, TRUE); SendMessage(hWndDlg, WM_PAINT, 0, 0L); } break; case WM_PAINT: #if WINVER < 0x030a case WM_PAINTICON: #endif if (GetProp(hWndDlg, pIconized)) { PAINTSTRUCT ps; HDC hDC = BeginPaint(hWndDlg, &ps); HBRUSH hBrush = CreateSolidBrush(GetSysColor(COLOR_BACKGROUND)); RECT rect; GetClientRect(hWndDlg, &rect); SelectObject(hDC, hBrush); PatBlt(hDC, 0, 0, rect.right - rect.left, rect.bottom - rect.top, PATCOPY); DrawIcon(hDC, 2, 2, objectIcon); EndPaint(hWndDlg, &ps); DeleteObject(hBrush); return TRUE; } return FALSE; case WM_QUERYDRAGICON: return objectIcon; case WM_COMMAND: hObj = GetProp(hWndDlg, (LPSTR) "hObj"); switch (wParam) { /* OPEN EXISTING OBJECT (USER SELECTED) */ case IDM_OPEN: /* OPEN EXISTING OBJECT (FROM ANOTHER FUNCTION) */ case IDG_AUTOOPEN: /* START A NEW OBJECT */ case IDM_NEW: return OpenObjectClassEditor(hWndDlg, OBJECT, hObj, wParam, lParam); #ifndef RUNTIME case IDM_HELP: KppDoWindowHelp(hWndDlg, "e_instance"); break; #endif case IDG_IMAGE_AUTOOPEN: { HMENU hMenu; /* OPEN EXISTING OBJECT (FROM ANOTHER FUNCTION) */ bRet = OpenObjectClassEditor(hWndDlg, OBJECT, hObj, wParam, lParam); hMenu = GetMenu(hWndDlg); EnableMenuItem(hMenu, IDM_SAVEAS, MF_GRAYED); EnableMenuItem(hMenu, IDM_NEW, MF_GRAYED); EnableMenuItem(hMenu, IDM_OPEN, MF_GRAYED); return bRet; } case IDM_CUT: case IDM_COPY: case IDM_PASTE: case IDM_CLEAR: KpeHandleEditMenu(GetFocus(), wParam); if (wParam != IDM_COPY) MARK_AS_MODIFIED(hWndDlg); break; /* SAVE OBJECT */ case IDM_SAVE: EditorSaveItem(hWndDlg, OBJECT, hObj, SAVE); break; /* SAVE AS */ case IDM_SAVEAS: EditorSaveAs(hWndDlg, OBJECT, hObj, wParam); break; /* Rename the object or class */ case IDM_RENAME: return RenameObjectClassItem(hWndDlg, OBJECT, hObj); /* EXIT IS SELECTED FROM MENU (save and proceed with ABORT) */ case IDM_EXIT: case IDCANCEL: sRes = ExitObjectClassEditor(hWndDlg, OBJECT, hObj); if (sRes == TRUE) DestroyWindow(hWndDlg); return TRUE; case IDDSLOTS: if (HIWORD(lParam) != LBN_DBLCLK) break; return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_EDIT, OBJECT); case IDM_IMAGE_EDIT: /* from ^E accelerator */ SendMessage(GetFocus(), WM_CHAR, 'E' - 0x40, 0L); return TRUE; case IDM_OPTIONSLAYOUTMODE: /* from ^L accelerator */ SendMessage(GetFocus(), WM_CHAR, 'L' - 0x40, 0L); return TRUE; case IDM_WIDGETCUSTOM: /* from ^G accelerator */ SendMessage(GetFocus(), WM_CHAR, 'G' - 0x40, 0L); return TRUE; case IDM_EDITSLOT: return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_EDIT, OBJECT); case IDM_DELETESLOT: return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_DELETE, OBJECT); case IDM_RENAMESLOT: return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_RENAME, OBJECT); case IDM_MAKELOCALSLOT: return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_MAKELOCAL, OBJECT); case IDM_EDITMETHODOWNER: return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_EDITOWNER, OBJECT); case IDM_EDITSLOTOWNER: return ModifyMethSlot(hWndDlg, SLOT, hObj, IDM_EDITOWNER, OBJECT); case IDM_NEWSLOT: if (AddNewSlotMethod(hWndDlg, OBJECT, hObj, SLOT) == TRUE) MARK_AS_MODIFIED(hWndDlg); break; case IDG_CLOSESLOT: return CloseMethSlot(hWndDlg, SLOT, lParam); case IDDMETHODS: if (HIWORD(lParam) != LBN_DBLCLK) break; return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_EDIT, OBJECT); case IDM_EDITMETHOD: return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_EDIT, OBJECT); case IDM_DELETEMETHOD: return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_DELETE, OBJECT); case IDM_RENAMEMETHOD: return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_RENAME, OBJECT); case IDM_MAKELOCALMETHOD: return ModifyMethSlot(hWndDlg, METHOD, hObj, IDM_MAKELOCAL, OBJECT); case IDM_NEWMETHOD: if (AddNewSlotMethod(hWndDlg, OBJECT, hObj, METHOD) == TRUE) MARK_AS_MODIFIED(hWndDlg); /* SK */ break; /* A METHOD EDITOR IS CLOSING */ case IDG_CLOSEMETHOD: return CloseMethSlot(hWndDlg, METHOD, lParam); case IDDINFO: if (HIWORD(lParam) == EN_CHANGE) MARK_AS_MODIFIED(hWndDlg); break; default: return FALSE; } break; default: return FALSE; } 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; }