MFC/VC DLL导出对话框,焦点混乱问题
来源:互联网 发布:苹果蜂窝移动网络搜索 编辑:程序博客网 时间:2024/06/05 16:00
vs创建dll,然后在dll里面创建对话框,并通过导出函数的方式创建时,会碰到各种各样的问题。比如edit控件获取不了焦点,无法输入;子对话框无法移动;各种button的焦点混乱等各种问题。
原因分析:
dll中创建的mfc对话框底层有自己的窗口map列表,exe中的某些消息有可能传递不到dll中,因此需要将exe中的程序传递到dll,具体的底层原因,以后在分析加入
//dll中导出函数:BOOL WINAPI FilterDllMsg(LPMSG lpMsg){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); TRY { return AfxGetThread()->PreTranslateMessage(lpMsg); } END_TRY return FALSE;}//如果是dll导出的非子对话框在exe的app中如下调用:BOOL CScreenCapApp::PreTranslateMessage(MSG* pMsg){ if (CWinApp::PreTranslateMessage(pMsg)) return(TRUE); return(FilterDllMsg(pMsg));}// 如果dll导出的是子对话框,则需要在相应父对话框的PreTranslateMessage内调用,如下:BOOL CYourDialog::PreTranslateMessage(MSG* pMsg){ // 传递给子对话框的消息和传递给父对话框的消息是有交集的,因此注意某些消息需要只交给一方处理。 // ? 不只为何先处理Prexxx,再调用Filter不行 if (FilterDllMsg(pMsg)) return(TRUE); return(CDialogEx::PreTranslateMessage(pMsg));}
阅读全文
0 0
- MFC/VC DLL导出对话框,焦点混乱问题
- VC扩展mfc dll中子对话框不能获取焦点问题
- VC对话框焦点转换问题
- VC对话框焦点转换问题
- VC对话框焦点转换问题
- MFC扩展DLL导出对话框类
- MFC扩展DLL导出对话框类
- MFC导出对话框类DLL的实现
- MFC对话框设置焦点
- MFC 对话框焦点默认
- 实现MFC扩展DLL中导出类和对话框
- 一步一步实现MFC扩展DLL中导出类和对话框
- 实现MFC扩展DLL中导出类和对话框
- 实现MFC扩展DLL中导出类和对话框
- 一步一步实现MFC扩展DLL中导出类和对话框
- 一步一步实现MFC扩展DLL中导出类和对话框
- 实现MFC扩展DLL中导出类和对话框
- 实现MFC扩展DLL中导出类和对话框 【转】
- php的两种好用的无限级分类方法
- 签到
- Android中的四大组件之-Boradcast
- 1035. Password (20)
- 网络编程学习笔记2(TCP/UDP协议)
- MFC/VC DLL导出对话框,焦点混乱问题
- 算法实现Alg15-Multiscale patch-based contrast measure for small infrared target detection
- 【Redis】深入浅出Redis(二)——集群搭建
- C语言读写二进制文件
- 从json字符串获取key的value
- 洛谷 P1240 诸侯安置
- 【代码笔记】iOS-自定义选择框(高底强弱)
- 直接选择排序
- Zookeeper的注册中心和dubbo-admin的搭建