1 #ifndef __CUIWINDOWRESIZER_H__
2 #define __CUIWINDOWRESIZER_H__
3 
4 #include <CUI/CUIDefines.h>
5 #include <TCFoundation/TCObject.h>
6 #include <TCFoundation/TCTypedObjectArray.h>
7 #include <windows.h>
8 
9 class CUISubWindowInfo;
10 
11 typedef TCTypedObjectArray<CUISubWindowInfo> CUISubWindowInfoArray;
12 
13 
14 CUIExport extern const DWORD CUIFloatLeft;
15 CUIExport extern const DWORD CUIFloatRight;
16 CUIExport extern const DWORD CUIFloatTop;
17 CUIExport extern const DWORD CUIFloatBottom;
18 CUIExport extern const DWORD CUISizeHorizontal;
19 CUIExport extern const DWORD CUISizeVertical;
20 
21 class CUIExport CUIWindowResizer : public TCObject
22 {
23 public:
24 	CUIWindowResizer(void);
25 	virtual void setHWindow(HWND value);
getHWindow(void)26 	HWND getHWindow(void) { return hWindow; }
27 	virtual void resize(int newWidth, int newHeight);
28 	virtual void addSubWindow(HWND hSubWindow, DWORD resizeMask);
29 	virtual void addSubWindow(int controlID, DWORD resizeMask);
30 	virtual void removeSubWindow(HWND hSubWindow);
31 	virtual void removeSubWindow(int controlID);
setOriginalWidth(int value)32 	virtual void setOriginalWidth(int value) { originalWidth = value; }
getOriginalWidth(void)33 	virtual int getOriginalWidth(void) const { return originalWidth; }
setOriginalHeight(int value)34 	virtual void setOriginalHeight(int value) { originalHeight = value; }
getOriginalHeight(void)35 	virtual int getOriginalHeight(void) const { return originalHeight; }
36 	virtual void addResizeGrip(void);
37 	static HWND createResizeGrip(HWND hParent, int x = 0, int y = 0,
38 		int width = 10, int height = 10);
39 protected:
40 	virtual ~CUIWindowResizer(void);
41 	virtual void dealloc(void);
42 	virtual void resizeSubWindow(CUISubWindowInfo *subWindowInfo,
43 		int widthDelta, int heightDelta);
44 
45 	HWND hWindow;
46 	int originalWidth;
47 	int originalHeight;
48 	CUISubWindowInfoArray *subWindowInfos;
49 };
50 
51 #endif // __CUIWINDOWRESIZER_H__
52