Ignore:
Timestamp:
Jan 1, 2003, 3:29:45 PM (23 years ago)
Author:
sandervl
Message:

Fixes for windows with an iconless class and WS_EX_DLGMODALFRAME style. (they shouldn't have a system menu)

File:
1 edited

Legend:

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

    r9563 r9575  
    1 /* $Id: oslibwin.cpp,v 1.131 2002-12-29 17:17:16 sandervl Exp $ */
     1/* $Id: oslibwin.cpp,v 1.132 2003-01-01 14:29:42 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    117117//Note: Also check OSLibSetWindowStyle when changing this!!
    118118//******************************************************************************
    119 BOOL OSLibWinConvertStyle(ULONG dwStyle, ULONG dwExStyle, ULONG *OSWinStyle, ULONG *OSFrameStyle)
     119BOOL OSLibWinConvertStyle(ULONG dwStyle, ULONG dwExStyle, ULONG *OSWinStyle,
     120                          ULONG *OSFrameStyle)
    120121{
    121122  *OSWinStyle   = 0;
     
    135136      if((dwStyle & WS_CAPTION_W) == WS_CAPTION_W) {
    136137          *OSFrameStyle = FCF_TITLEBAR;
     138
    137139          if((dwStyle & WS_SYSMENU_W) && !(dwExStyle & WS_EX_TOOLWINDOW_W))
    138140          {
     
    155157//******************************************************************************
    156158BOOL OSLibWinPositionFrameControls(HWND hwndFrame, RECTLOS2 *pRect, DWORD dwStyle,
    157                                    DWORD dwExStyle, HICON hSysMenuIcon, BOOL drawCloseButton)
     159                                   DWORD dwExStyle, HICON hSysMenuIcon,
     160                                   BOOL drawCloseButton, BOOL fClassIcon)
    158161{
    159162  SWP  swp[3];
     
    171174 
    172175  if(fOS2Look == OS2_APPEARANCE_SYSMENU) {
     176      //Note: If no class icon *and* WS_EX_DLGMODALFRAME -> no system menu!!
     177      //      --> TODO
    173178      hwndControl = WinWindowFromID(hwndFrame, FID_SYSMENU);
    174179      if(hwndControl) {
     
    187192          i++;
    188193      }
    189 
    190194  }
    191195  else
    192   if((dwStyle & WS_SYSMENU_W) && !(dwExStyle & WS_EX_TOOLWINDOW_W) && hSysMenuIcon) {
     196  //Note: If no class icon *and* WS_EX_DLGMODALFRAME -> no system menu!!
     197  if((dwStyle & WS_SYSMENU_W) && !(dwExStyle & WS_EX_TOOLWINDOW_W) &&
     198     !(!fClassIcon && (dwExStyle & WS_EX_DLGMODALFRAME_W)) && hSysMenuIcon)
     199  {
    193200      pRect->xLeft += minmaxwidth/2;
    194201  }
     
    988995//******************************************************************************
    989996//******************************************************************************
    990 void OSLibSetWindowStyle(HWND hwndFrame, HWND hwndClient, ULONG dwStyle, ULONG dwExStyle)
     997void OSLibSetWindowStyle(HWND hwndFrame, HWND hwndClient, ULONG dwStyle,
     998                         ULONG dwExStyle)
    991999{
    9921000    ULONG dwWinStyle;
     
    10951103   } // os2look
    10961104}
    1097 
    10981105//******************************************************************************
    10991106//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.