source: trunk/src/user32/win32wmdiclient.h@ 1036

Last change on this file since 1036 was 949, checked in by sandervl, 26 years ago

Moved new user32 here

File size: 2.8 KB
Line 
1/* $Id: win32wmdiclient.h,v 1.1 1999-09-15 23:19:01 sandervl Exp $ */
2/*
3 * Win32 MDI Client Window Class for OS/2
4 *
5 * Copyright 1999 Sander van Leeuwen (sandervl@xs4all.nl)
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10#ifndef __WIN32WMDICLIENT_H__
11#define __WIN32WMDICLIENT_H__
12
13#include <win32wbase.h>
14#include <win32wmdichild.h>
15#include <mdi.h>
16
17#define MDICLIENTCLASSNAMEA "MDICLIENT"
18#define MDICLIENTCLASSNAMEW L"MDICLIENT"
19
20#define MDIF_NEEDUPDATE 0x0001
21
22//******************************************************************************
23//******************************************************************************
24class Win32MDIClientWindow : public Win32BaseWindow
25{
26public:
27 Win32MDIClientWindow(CREATESTRUCTA *lpCreateStructA, ATOM classAtom, BOOL isUnicode);
28virtual ~Win32MDIClientWindow();
29
30 int incTotalCreated() { return ++nTotalCreated; };
31 int getFirstChildId() { return idFirstChild; };
32
33 HWND getMDIMenu() { return hWindowMenu; };
34
35Win32MDIChildWindow *getMaximizedChild() { return maximizedChild; };
36 void setMaximizedChild(Win32MDIChildWindow *newchild) { maximizedChild = newchild; };
37
38Win32MDIChildWindow *getActiveChild() { return activeChild; };
39 void setActiveChild(Win32MDIChildWindow *newchild) { activeChild = newchild; };
40
41Win32MDIChildWindow *getWindow(Win32MDIChildWindow *actchild, BOOL bNext, DWORD dwStyleMask);
42
43Win32MDIChildWindow *getChildByID(INT id);
44 void postUpdate(WORD recalc);
45
46 int getNrOfChildren() { return nActiveChildren; };
47 int incNrActiveChildren() { return ++nActiveChildren; };
48 int decNrActiveChildren() { return --nActiveChildren; };
49
50 int getMdiFlags() { return mdiFlags; };
51 void setMdiFlags(int newflags) { mdiFlags = newflags; };
52
53 void updateFrameText(BOOL repaint, LPCSTR lpTitle );
54
55 LONG childActivate(Win32MDIChildWindow *child);
56 void switchActiveChild(Win32MDIChildWindow *nextActiveChild, BOOL bNextWindow );
57 LRESULT destroyChild(Win32MDIChildWindow *child, BOOL flagDestroy );
58
59 LRESULT MDIClientWndProc(UINT message, WPARAM wParam, LPARAM lParam);
60
61private:
62 Win32MDIChildWindow *maximizedChild;
63 Win32MDIChildWindow *activeChild;
64
65 HWND hWindowMenu;
66 int idFirstChild;
67
68 int nActiveChildren;
69 int nTotalCreated;
70 int sbRecalc;
71 LPSTR frameTitle;
72 DWORD mdiFlags;
73
74};
75//******************************************************************************
76//******************************************************************************
77BOOL MDICLIENT_Register();
78BOOL MDICLIENT_Unregister();
79
80#endif //__WIN32WMDICLIENT_H__
Note: See TracBrowser for help on using the repository browser.