duilib 实现 可复用的模态对话框基类

早过忘川 提交于 2020-09-30 11:02:00

 

序  本文旨在   打造可复用的 duilib 模态对话框 基类

所谓模态对话,就是模态对话框出现时,主窗口不能进行任何操作。

duilib中的Msgbox就是模态对话框

模态对话框的核心实现很简单

但本文关注点在于打造 可服用的模态基类

构造一个自己的 模态框基类, 有具体模态显示需求时,只需由此基类,派生下就可以了。

 

0)模态对话框核心代码

     模态对话框显示的时候 ,使得此模态对话框的 拥有者窗口,通常是父窗口 禁止响应

         ::EnableWindow(hwnd, FALSE);

 

     模态对话框销毁的时候, 重新使得拥有者窗口 进行响应

       ::EnableWindow(hWndParent, TRUE);

 

一 模态对话框设计

  1.1)返回值 

          当模态对话框销毁时,要告诉调用者 返回值信息, 比如点击的是 确定还是取消

          这可通过枚举来实现


enum ModalRet
{
	MB_YES_Modal,
	MB_NO_Modal
};

 

 

  1.2)模态对话框需要有一个CALLBACK  ,返回给调用者相关信息

   

typedef std::function<void(Moda
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!