Changeset 13237


Ignore:
Timestamp:
Feb 5, 2000, 3:08:54 PM (25 years ago)
Author:
sandervl
Message:

set style + mdi child creation fixes

Location:
tags/trunk/src/user32
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tags/trunk/src/user32/Makefile

    r13229 r13237  
    1 # $Id: Makefile,v 1.61 2000-02-05 02:12:20 sandervl Exp $
     1# $Id: Makefile,v 1.62 2000-02-05 14:08:52 sandervl Exp $
    22
    33#
     
    2323CXXFLAGS = $(CXXFLAGS) -DDEBUG_ENABLELOG_LEVEL2
    2424!endif
    25 
    26 RC = $(PDWIN32_TOOLS)\wrc
    27 RCFLAGS = -s -I. -I$(CPPMAIN)\include -I$(PDWIN32_INCLUDE) -I$(PDWIN32_INCLUDE)\win
    2825
    2926TARGET = user32
  • TabularUnified tags/trunk/src/user32/oslibwin.cpp

    r13150 r13237  
    1 /* $Id: oslibwin.cpp,v 1.65 2000-01-29 20:46:52 sandervl Exp $ */
     1/* $Id: oslibwin.cpp,v 1.66 2000-02-05 14:08:53 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    102102//******************************************************************************
    103103//******************************************************************************
    104 BOOL OSLibWinConvertStyle(ULONG dwStyle, ULONG *dwExStyle, ULONG *OSWinStyle, ULONG *OSFrameStyle, ULONG *borderWidth, ULONG *borderHeight)
     104BOOL OSLibWinConvertStyle(ULONG dwStyle, ULONG *dwExStyle, ULONG *OSWinStyle)
    105105{
    106106  *OSWinStyle   = 0;
    107   *OSFrameStyle = 0;
    108   *borderWidth  = 0;
    109   *borderHeight = 0;
    110107
    111108  /* Window styles */
     
    130127        *OSWinStyle |= WS_TABSTOP;
    131128
    132   if(dwStyle & WS_CHILD_W && !((dwStyle & WS_CAPTION_W) == WS_CAPTION_W))
    133   {
    134 //SvL: Causes crash in VPBuddy if enabled -> find bug
    135 #if 0
    136     if (!HAS_3DFRAME(*dwExStyle) && (dwStyle & (WS_DLGFRAME_W | WS_THICKFRAME_W))) *dwExStyle |= WS_EX_DLGMODALFRAME_W;
    137 #endif
    138 
    139     if (*dwExStyle & WS_EX_CLIENTEDGE_W)
    140     {
    141       *OSFrameStyle |= FCF_SIZEBORDER;
    142       *borderHeight = *borderWidth = 2;
    143     }
    144     else
    145     if (*dwExStyle & WS_EX_DLGMODALFRAME_W)
    146     {
    147       *OSFrameStyle |= FCF_SIZEBORDER;
    148       *borderHeight = *borderWidth = 3;
    149     }
    150     else
    151     if (*dwExStyle & WS_EX_STATICEDGE_W)
    152     {
    153       *OSFrameStyle |= FCF_SIZEBORDER;
    154       *borderHeight = *borderWidth = 2;
    155     }
    156     else
    157     if(dwStyle & WS_BORDER_W)
    158     {
    159       *OSFrameStyle |= FCF_BORDER;
    160       *borderHeight = *borderWidth = 1;
    161     }
    162     else if (*dwExStyle & WS_EX_WINDOWEDGE_W); //no border
    163 
    164     if(dwStyle & WS_VSCROLL_W)
    165           *OSFrameStyle |= FCF_VERTSCROLL;
    166     if(dwStyle & WS_HSCROLL_W)
    167           *OSFrameStyle |= FCF_HORZSCROLL;
    168   }
    169   else
    170   {
    171     if((dwStyle & WS_CAPTION_W) == WS_DLGFRAME_W)
    172         *OSFrameStyle |= FCF_DLGBORDER;
    173     else
    174     {
    175         if((dwStyle & WS_CAPTION_W) == WS_CAPTION_W)
    176             *OSFrameStyle |= (FCF_TITLEBAR | FCF_BORDER);
    177         else
    178         if(dwStyle & WS_BORDER_W)
    179             *OSFrameStyle |= FCF_BORDER;
    180     }
    181 
    182     if(dwStyle & WS_VSCROLL_W)
    183           *OSFrameStyle |= FCF_VERTSCROLL;
    184     if(dwStyle & WS_HSCROLL_W)
    185           *OSFrameStyle |= FCF_HORZSCROLL;
    186 
    187     if(dwStyle & WS_SYSMENU_W)
    188           *OSFrameStyle |= FCF_SYSMENU;
    189     if(dwStyle & WS_THICKFRAME_W)
    190           *OSFrameStyle |= FCF_SIZEBORDER;        //??
    191     if(dwStyle & WS_MINIMIZEBOX_W)
    192           *OSFrameStyle |= FCF_MINBUTTON;
    193     if(dwStyle & WS_MAXIMIZEBOX_W)
    194           *OSFrameStyle |= FCF_MAXBUTTON;
    195 
    196     if(*dwExStyle & WS_EX_DLGMODALFRAME_W)
    197           *OSFrameStyle |= FCF_DLGBORDER;
    198   }
    199 
    200   //Clear certain frame bits when the window doesn't have a titlebar
    201   if(!(*OSFrameStyle & FCF_TITLEBAR)) {
    202         *OSFrameStyle &= ~(FCF_MINBUTTON|FCF_MAXBUTTON|FCF_SYSMENU);
    203   }
    204129  return TRUE;
    205130}
     
    983908//******************************************************************************
    984909//******************************************************************************
     910void OSLibSetWindowStyle(HWND hwnd, ULONG dwStyle, ULONG dwExStyle, BOOL saveBits)
     911{
     912  ULONG dwWinStyle;
     913
     914  OSLibWinConvertStyle(dwStyle, &dwExStyle, &dwWinStyle);
     915
     916  dwWinStyle = dwWinStyle & ~(WS_TABSTOP | WS_GROUP | WS_CLIPCHILDREN);
     917  if(saveBits) dwWinStyle |= WS_SAVEBITS;
     918  if(dwStyle & WS_VISIBLE_W)
     919        dwWinStyle |= WS_VISIBLE;
     920
     921  WinSetWindowULong(hwnd, QWL_STYLE,
     922                    (WinQueryWindowULong(hwnd, QWL_STYLE) & ~0xffff0000) |
     923                     dwWinStyle);
     924}
     925//******************************************************************************
     926//******************************************************************************
  • TabularUnified tags/trunk/src/user32/oslibwin.h

    r13163 r13237  
    1 /* $Id: oslibwin.h,v 1.36 2000-01-31 22:30:52 sandervl Exp $ */
     1/* $Id: oslibwin.h,v 1.37 2000-02-05 14:08:53 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    4242                           HWND *hwndFrame, ULONG id, BOOL fTaskList,BOOL saveBits);
    4343
    44 BOOL  OSLibWinConvertStyle(ULONG dwStyle, ULONG *dwExStyle, ULONG *OSWinStyle, ULONG *OSFrameStyle, ULONG *borderWidth, ULONG *borderHeight);
    45 void  OSLibSetWindowStyle(HWND hwnd, ULONG dwStyle, BOOL fTaskList);
     44BOOL  OSLibWinConvertStyle(ULONG dwStyle, ULONG *dwExStyle, ULONG *OSWinStyle);
     45void  OSLibSetWindowStyle(HWND hwnd, ULONG dwStyle, ULONG dwExStyle, BOOL saveBits);
    4646
    4747#define OSLIB_QWL_USER -4
  • TabularUnified tags/trunk/src/user32/win32wbase.cpp

    r13216 r13237  
    1 /* $Id: win32wbase.cpp,v 1.151 2000-02-04 17:17:56 cbratschi Exp $ */
     1/* $Id: win32wbase.cpp,v 1.152 2000-02-05 14:08:53 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    126126
    127127  pOldFrameProc = NULL;
    128   borderWidth   = 0;
    129   borderHeight  = 0;
    130128
    131129  hwndLinkAfter    = HWND_BOTTOM;
     
    483481  }
    484482
    485   DWORD dwOSWinStyle, dwOSFrameStyle;
    486 
    487   OSLibWinConvertStyle(dwStyle, &dwExStyle, &dwOSWinStyle, &dwOSFrameStyle, &borderWidth, &borderHeight);
     483  DWORD dwOSWinStyle;
     484
     485  OSLibWinConvertStyle(dwStyle, &dwExStyle, &dwOSWinStyle);
    488486
    489487  if(HIWORD(cs->lpszName))
     
    27332731                setStyle(ss.styleNew);
    27342732                SendInternalMessageA(WM_STYLECHANGED,GWL_STYLE,(LPARAM)&ss);
     2733                OSLibSetWindowStyle(getOS2FrameWindowHandle(), getStyle(), getExStyle(),
     2734                                    windowClass->getStyle() & CS_SAVEBITS);
    27352735#ifdef DEBUG
    27362736                PrintWindowStyle(ss.styleNew, 0);
     
    27402740        case GWL_WNDPROC:
    27412741                oldval = (LONG)WINPROC_GetProc(win32wndproc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
    2742                 //WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, (WNDPROC)value, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A, WIN_PROC_WINDOW);
    27432742                WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, (WNDPROC)value, WINPROC_GetProcType(win32wndproc), WIN_PROC_WINDOW);
    27442743                return oldval;
     2744
    27452745        case GWL_HINSTANCE:
    27462746                oldval = hInstance;
    27472747                hInstance = value;
    27482748                return oldval;
     2749
    27492750        case GWL_HWNDPARENT:
    27502751                return SetParent((HWND)value);
     2752
    27512753        case GWL_ID:
    27522754                oldval = getWindowId();
    27532755                setWindowId(value);
    27542756                return oldval;
     2757
    27552758        case GWL_USERDATA:
    27562759                oldval = userData;
    27572760                userData = value;
    27582761                return oldval;
     2762
    27592763        default:
    27602764                if(index >= 0 && index/4 < nrUserWindowLong)
  • TabularUnified tags/trunk/src/user32/win32wbase.h

    r13192 r13237  
    1 /* $Id: win32wbase.h,v 1.78 2000-02-03 17:13:02 cbratschi Exp $ */
     1/* $Id: win32wbase.h,v 1.79 2000-02-05 14:08:54 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    289289       PVOID getOldFrameProc() { return pOldFrameProc; };
    290290       VOID  setOldFrameProc(PVOID aOldFrameProc) { pOldFrameProc = aOldFrameProc; };
    291        ULONG getBorderWidth() { return borderWidth; };
    292        ULONG getBorderHeight() { return borderHeight; };
    293291
    294292       PVOID getOldWndProc() { return pOldWndProc; }
     
    347345        DWORD   dwProcessId;            //id of process that created this window
    348346        PVOID   pOldFrameProc;
    349         ULONG   borderWidth;
    350         ULONG   borderHeight;
    351347
    352348        PVOID   pOldWndProc;
  • TabularUnified tags/trunk/src/user32/win32wmdichild.cpp

    r13114 r13237  
    1 /* $Id: win32wmdichild.cpp,v 1.20 2000-01-27 21:50:03 sandervl Exp $ */
     1/* $Id: win32wmdichild.cpp,v 1.21 2000-02-05 14:08:54 sandervl Exp $ */
    22/*
    33 * Win32 MDI Child Window Class for OS/2
     
    361361             * the SWP_SHOWWINDOW command.
    362362             */
    363 //SvL: Not here. This causes problems in OS/2
    364 //            newchild->SetWindowLongA(GWL_STYLE, showflag & ~WS_VISIBLE);
     363            newchild->SetWindowLongA(GWL_STYLE, newchild->getStyle() & ~WS_VISIBLE);
    365364            if(showflag){
    366365                newchild->SetWindowPos(0, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE );
Note: See TracChangeset for help on using the changeset viewer.