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