Ignore:
Timestamp:
Oct 4, 1999, 11:56:04 AM (26 years ago)
Author:
sandervl
Message:

Lots of changes by several people (see changelog for 4 October

File:
1 edited

Legend:

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

    r1105 r1118  
    1 /* $Id: oslibwin.cpp,v 1.11 1999-10-02 04:09:12 sandervl Exp $ */
     1/* $Id: oslibwin.cpp,v 1.12 1999-10-04 09:56:00 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    126126  } else
    127127  {
    128     if(dwStyle & WS_CAPTION_W)
     128    if((dwStyle & WS_CAPTION_W) == WS_CAPTION_W)
    129129          *OSFrameStyle |= FCF_TITLEBAR;
    130130    if(dwStyle & WS_DLGFRAME_W)
     
    828828                    (WinQueryWindowULong(hwnd, QWL_STYLE) & ~0xffff0000) |
    829829                    OSWinStyle);
    830 }
    831 //******************************************************************************
    832 //******************************************************************************
     830
     831  if(OSFrameStyle != 0)  // maybe WinQueryClassName == WC_FRAME is better
     832  {
     833    if(OSFrameStyle & FCF_TITLEBAR)
     834    {
     835      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_TITLEBAR), hwnd, FALSE);
     836      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_MENU), hwnd, FALSE);
     837    }
     838    else
     839    {
     840      WinSetParent(WinWindowFromID(hwnd, FID_TITLEBAR), HWND_OBJECT, FALSE);
     841      WinSetParent(WinWindowFromID(hwnd, FID_MENU), HWND_OBJECT, FALSE);
     842    }
     843    if(OSFrameStyle & FCF_SYSMENU)
     844      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_SYSMENU), hwnd, FALSE);
     845    else
     846      WinSetParent(WinWindowFromID(hwnd, FID_SYSMENU), HWND_OBJECT, FALSE);
     847
     848    if(OSFrameStyle & FCF_MINBUTTON | OSFrameStyle & FCF_MAXBUTTON)
     849      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_MINMAX), hwnd, FALSE);
     850    else
     851      WinSetParent(WinWindowFromID(hwnd, FID_MINMAX), HWND_OBJECT, FALSE);
     852
     853    if(OSFrameStyle & FCF_VERTSCROLL)
     854      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_VERTSCROLL), hwnd, FALSE);
     855    else
     856      WinSetParent(WinWindowFromID(hwnd, FID_VERTSCROLL), HWND_OBJECT, FALSE);
     857
     858    if(OSFrameStyle & FCF_HORZSCROLL)
     859      WinSetParent(OSLibWinObjectWindowFromID(hwnd, FID_HORZSCROLL), hwnd, FALSE);
     860    else
     861      WinSetParent(WinWindowFromID(hwnd, FID_HORZSCROLL), HWND_OBJECT, FALSE);
     862
     863    WinSendMsg(hwnd, WM_UPDATEFRAME,
     864               MPFROMLONG(FCF_TITLEBAR | FCF_SYSMENU | FCF_MINMAX |
     865                          FCF_MENU | FCF_VERTSCROLL | FCF_HORZSCROLL),
     866               MPVOID);
     867  }
     868}
     869//******************************************************************************
     870//******************************************************************************
     871HWND OSLibWinObjectWindowFromID(HWND hwndOwner, ULONG ID)
     872{
     873  HWND   hwndNext, hwndFound=0;
     874  HENUM  henum;
     875
     876  henum = WinBeginEnumWindows(HWND_OBJECT);
     877  while ((hwndNext = WinGetNextWindow(henum)) != 0)
     878  {
     879    if(WinQueryWindow(hwndNext, QW_OWNER) == hwndOwner &&
     880       WinQueryWindowUShort(hwndNext, QWS_ID) == ID)
     881    {
     882       hwndFound = hwndNext;
     883       break;
     884    }
     885  }
     886  WinEndEnumWindows(henum);
     887  return hwndFound;
     888}
     889//******************************************************************************
     890//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.