16,472
社区成员
发帖
与我相关
我的任务
分享
class ControlBase
{
public:
virtual void Move ( CtrlInfo Info ) = 0;
virtual void Visual ( bool visual ) = 0;
virtual void StickyInHierarchy () = 0;
virtual void Enable ( bool bEnable ) = 0;
CtrlInfo GetInfo () { return InfoSizeLoc; }
void SaveInfo ( CtrlInfo Info ) { InfoSizeLoc = Info; }
protected:
bool bInit;
CtrlInfo InfoSizeLoc;
bool bEnable;
};
class SubWindow : public ControlBase
{
#define FE_SUBWINDOW_TITLE_HEIGHT 20
#define FE_SUBWINDOW_BUTTON_SIZE 16
#define FE_SUBWINDOW_CAPTION_ID 10
#define FE_SUBWINDOW_CLOSE_ID 20
#define FE_SUBWINDOW_TITLE_ID 30
friend void SubWindowPro(FE_Param Param, UINT uMsg, FE_MessageParam wParam, FE_MessageParam lParam, DWORD ID);
public:
SubWindow(Manage_2Dui *pManage);
~SubWindow();
void AddSubWindow(CtrlInfo Info, FE_TCHAR *pTitle, TypeProg WinProg = NULL, FE_Param Param = NULL, DWORD Fid = 0, DWORD ID = 0);
void Move(CtrlInfo Info);
void Visual(bool visual);
void StickyInHierarchy();
void Enable(bool bEnable);
DWORD GetContainerID();
}
SubWindow *pEditWindow;
CtrlInfo MoveWindowInfo = { 300, 300, 130, 220 };
pMoveWindow = new(pMemPool->FE_AllocateMemory(sizeof(SubWindow))) SubWindow(p2dUI);
pMoveWindow->AddSubWindow(MoveWindowInfo, _T("Move"));
DWORD dwMoveWindowID = pMoveWindow->GetContainerID();
pMoveWindow->Visual(false); //出错
pMoveWindow->SubWindow::Visual(false); //不出错