Beispiel #1
0
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;
	}
Beispiel #2
0
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;
	}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}
Beispiel #5
0
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;
}
Beispiel #6
0
BOOL _DLLFAR _CB_Ctl3dSubclassDlg( HWND h, WORD w )
{
    return( Ctl3dSubclassDlg( h, w ) );
}
Beispiel #7
0
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;
}
Beispiel #8
0
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;
}