用duilib开发了一个窗口,比如是登录窗口,那么这个窗口的窗口的双击最大化就毫无意义,甚至带来灾难,我们就要明确禁止这样的行为。
我们应该明确,一个窗口创建的时候就赋予了它一些属性,那我们就首先看看如何创建窗口的,即Create函数。
例如,你定义了一个窗口类叫LogInWnd,你会在需要的时候这用进行创建一个窗口:
LogInWnd login_wnd;
login_wnd.Create(nullptr, _T("登录窗口"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
我们注意到Create的第三个参数是宏定义,可以看出是跟windows style相关的一些定义,那我们就看看吧:
#define UI_WNDSTYLE_FRAME (WS_VISIBLE | WS_OVERLAPPEDWINDOW)
#define UI_WNDSTYLE_DIALOG (WS_VISIBLE | WS_POPUPWINDOW | WS_CAPTION | WS_DLGFRAME | WS_CLIPSIBLINGS | WS_CLIPCHILDREN)