Ignore:
Timestamp:
Sep 25, 1999, 6:49:30 PM (26 years ago)
Author:
cbratschi
Message:

MsgButton() -> double click handling changed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32wbase.cpp

    r1046 r1050  
    1 /* $Id: win32wbase.cpp,v 1.12 1999-09-25 15:10:00 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.13 1999-09-25 16:49:30 cbratschi Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    393393
    394394//CB: dwOSFrameStyle handled by OSLibWinConvertStyle
    395 //    todo: subclass frame WM_PAINT -> call DrawEdge() if HAS_3DFRAME
     395//    todo: subclass frame WM_PAINT -> call DrawEdge() if HAS_3DFRAME (code below)
    396396//          OSLibWinCreateWindow: perhaps problems
    397397//    shouldn't we always use a frame? -> no problems with scrollbars
     
    480480                     SWP_NOACTIVATE);
    481481  }
     482  //Subclass frame
     483  if (dwStyle & WS_CHILD && HAS_3DFRAME(dwExStyle))
     484  {
     485    //CB: use a win32 window procedure and call DrawEdge() or
     486    //    emulate DrawEdge() in a OS/2 procedure
     487  }
     488
    482489  //Get the client window rectangle
    483490  GetClientRect(Win32Hwnd, &rectClient);
     
    10181025                break;
    10191026        case BUTTON_LEFTDBLCLICK:
    1020                 win32msg = WM_LBUTTONDBLCLK;
    1021                 win32ncmsg = WM_NCLBUTTONDBLCLK;
     1027                if (windowClass->getClassLongA(GCL_STYLE) & CS_DBLCLKS)
     1028                {
     1029                  win32msg = WM_LBUTTONDBLCLK;
     1030                  win32ncmsg = WM_NCLBUTTONDBLCLK;
     1031                } else
     1032                {
     1033                  MsgButton(BUTTON_LEFTDOWN,ncx,ncy,clx,cly);
     1034                  return MsgButton(BUTTON_LEFTUP,ncx,ncy,clx,cly);
     1035                }
    10221036                break;
    10231037        case BUTTON_RIGHTUP:
     
    10301044                break;
    10311045        case BUTTON_RIGHTDBLCLICK:
    1032                 win32msg = WM_RBUTTONDBLCLK;
    1033                 win32ncmsg = WM_NCRBUTTONDBLCLK;
     1046                if (windowClass->getClassLongA(GCL_STYLE) & CS_DBLCLKS)
     1047                {
     1048                  win32msg = WM_RBUTTONDBLCLK;
     1049                  win32ncmsg = WM_NCRBUTTONDBLCLK;
     1050                } else
     1051                {
     1052                  MsgButton(BUTTON_RIGHTDOWN,ncx,ncy,clx,cly);
     1053                  return MsgButton(BUTTON_RIGHTUP,ncx,ncy,clx,cly);
     1054                }
    10341055                break;
    10351056        case BUTTON_MIDDLEUP:
     
    10421063                break;
    10431064        case BUTTON_MIDDLEDBLCLICK:
    1044                 win32msg = WM_MBUTTONDBLCLK;
    1045                 win32ncmsg = WM_NCMBUTTONDBLCLK;
     1065                if (windowClass->getClassLongA(GCL_STYLE) & CS_DBLCLKS)
     1066                {
     1067                  win32msg = WM_MBUTTONDBLCLK;
     1068                  win32ncmsg = WM_NCMBUTTONDBLCLK;
     1069                } else
     1070                {
     1071                  MsgButton(BUTTON_MIDDLEDOWN,ncx,ncy,clx,cly);
     1072                  return MsgButton(BUTTON_MIDDLEUP,ncx,ncy,clx,cly);
     1073                }
    10461074                break;
    10471075        default:
     
    10491077                return 1;
    10501078    }
    1051     if(win32msg == WM_MBUTTONDBLCLK || win32msg == WM_RBUTTONDBLCLK || win32msg == WM_LBUTTONDBLCLK) {
    1052         if(!(windowClass->getClassLongA(GCL_STYLE) & CS_DBLCLKS)) {
    1053             return 1;
    1054         }
    1055     }
     1079
    10561080    SendInternalMessageA(WM_SETCURSOR, Win32Hwnd, MAKELONG(lastHitTestVal, win32ncmsg));
    10571081
Note: See TracChangeset for help on using the changeset viewer.