Duilib 开发中的小经验

时间:2022-11-18 13:37:56

# duilib开发中收集的小代码 #

## 1 窗体创建 ##

- 窗体多继承于 public WindowImplBase ,简单的定义几个函数就可以实现:拖曳caption移动(设置xml窗体的Caption:0,0,0,30);拖动边框调整大小(xml中的SizeBox);利用CWndShadow快速实现阴影
- 创建窗体时用Create() 函数,其中可用2种style和Ex_style :UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE (DIALOG 不可调整大小);UI_WNDSTYLE_EX_FRAME,WS_EX_STATICEDGE|WS_EX_APPWINDOW (WND 可调整大小)
- 当使用ShowModal时,如果Create函数中的hWnd为空时,无法实现Modal,因为它不知道卡在谁前

Create(pMainFrm->GetHWND(),_T("aboutwnd2"),UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
Create(NULL,_T("mainwnd"),UI_WNDSTYLE_EX_FRAME,WS_EX_STATICEDGE|WS_EX_APPWINDOW);

- 以上是2种创建方法:第一种模态,不能改变大小;第二种可拖动大小