随笔分类 - MFC
摘要:近日根据项目需要,需要进入Dialog时实现一些功能,重写了WM_MOUSELEAVE和WM_MOUSEHOVER消息后,鼠标进入或移出没有进入消息函数 ON_MESSAGE(WM_MOUSEHOVER, OnMouseHover) ON_MESSAGE(WM_MOUSELEAVE, OnMouse
阅读全文
摘要:近日,在某个对话框中使用了CTreeCtrl,当通过右键菜单的删除项时,调用了tree.DeleteItem(hSelItem)后,偶尔会发现CTreeCtrl控件会变白,据说在DeleteAllItems()也会有各种问题,最后采用的解决方案是在DeleteItem或DeleteAllItems(
阅读全文
摘要:问题描述: mfc编程时,重写ctabctrl类。在实现动态增加删除界面功能时,发现当tab控件内有加载入两个tab界面,当删除tab1时,留下的另一个tab2标签页会变空白。 现象如下: 同时添加“666”和“667”两个tab页,并显示“667”tab页。 然后删除“666”这个tab页,“66
阅读全文
摘要:1、问题描述: 在一个MFC应用程序exe中,调用另一个DLL中的函数,函数中的一个形参是string类型的,每次调用都会出现乱码的情况,并且会崩溃。 调用前: 调用后: 2、原因分析: 不同的模块各自有一份C运行时库代码、或者根本没有C运行时库,导致了各个模块会有各自的堆。如果在A堆中申请空间,到
阅读全文
摘要:概述 本教程适用于正在开发桌面应用程序并希望利用新的 MFC 功能区框架优势的 MFC 开发人员。通过本教程的步骤,您将了解如何将默认的功能区添加到一个小应用程序中,在 Ribbon Designer 中编辑各个功能区控件,然后在运行时使用控件。您将看到通过 MFC 功能区框架编辑和使用功能区控件非
阅读全文
摘要:有时候我们为了调用系统底层的API,为UI(C#)提供服务,那么要把这些方法放在托管工程中(CLR),这样既可以调用API,又可以供.NET上层使用, CLR工程就是连接C++与.NET的桥梁 有这样一个函数: GetTimeStampFormat_r(UNIT &FontSize, CString
阅读全文
摘要:第一种:在类名或者函数名前面加__declspec(dllexport), 在使用的地方用__desclspec(dllimport) 第二种:在def文件里加相应的导入函数或者导入类 这种方式还可以做成自动导出所有的类或函数,只需要在自动生成def文件即可 CMAKE_WINDOWS_EXPORT
阅读全文
摘要:MFC点击Dialog窗体可拖动的实现 MFC创建一个可通过鼠标点击客户区拖动窗口位置的方法通过添加消息响应函数afx_msg UINT OnNcHitTest(CPoint point);添加宏ON_WM_NCHITTEST()然后, 定义OnNcHitTest的行为即可, OnNcHitTest
阅读全文
摘要:有时候下拉框(MFC标准叫组合框,CComboBox)中条目文本很多,超过了下拉框的宽度,如果不加设置的话,超过的部分文本将无法显示,查找MSDN,发现解决方法,代码如下 // The pointer to my combo box. extern CComboBox* pmyComboBox; /
阅读全文
摘要:问题的产生: VS2019突然出现了问题,工具箱显示不出来,于是就打算从别的对话框拷贝一个匹配的控件到当前对话框,当运行的时候发现该控件总是有个偏移位置 问题的原因: 新版本的MFC界面控件支持动态布局,拷贝过来的控件把相应的动态布局的参数也一起拷过来了 问题的解决方案: 把动态布局的参数去除即可
阅读全文