vc
文章平均质量分 66
mengxingxia
这个作者很懒,什么都没留下…
展开
-
MFC中创建console窗口
if (!m_hConsoleOutput){ AllocConsole(); m_hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); char str[512] = "start Console Log...\n"; WriteConsole(m_hConsoleOutput, str, strlen(str), NULL, NULL);}if (原创 2013-09-04 13:54:15 · 1816 阅读 · 0 评论 -
MFC中模式对话框在OnInitDialog中移动大小无效,自动居中
对于模式对话框: 在WM_INITDIALOG或者CDialog::OnInitDialog中调用MoveWindow无效,对话框自动居中。调用SetWindowPos则能按照预想运行,目前原因不明原创 2017-07-07 13:42:51 · 1053 阅读 · 1 评论 -
对话框窗口不刷新,不进入OnPaint(不进WM_PAINT)
MFC对话框程序,不知道改了什么对话框总是不刷新,后来用spy++查看,能看到窗口。 首先考虑的是,不小心加了layeredout属性,后来查看没有。 再次考虑到是不是wm_paint消息被过滤了,在PreTranslateMessage里面下断点发现是可以收到WM_PAINT消息的,后来调试跟进,发现![代码堆栈](http://img.blog.csdn.net/20170706111335原创 2017-07-06 11:09:55 · 2675 阅读 · 0 评论 -
消除窗体/内容/控件闪烁(Win32 SDK、C++ 语言描述)
消除窗体/内容/控件闪烁(Win32 SDK、C++ 语言描述)原作者:Ultraman_King 2011.8原文章地址:http://hi.baidu.com/ultraman_king/blog/item/d71d004a4f2a8a3909f7ef8d.html〇、前提本文采用 Win32 SDK 以及 C/转载 2015-04-29 11:46:52 · 3122 阅读 · 0 评论 -
CListBox创建控件大小自动变化
CListBox手动创建的窗口,添加string后。 如果SetItemHeight大小总是和MoveWindow后的大小不符,总是会变小;如果不调用SetItemHeight则无此问题。巨坑啊。实际上解决此问题的方法非常简单,只要加上如下属性即可:LBS_NOINTEGRALHEIGHTmsdn对LBS_NOINTEGRALHEIGHT的解释如下: LBS_NOINTEGRALHEIGHT原创 2017-07-04 15:37:52 · 762 阅读 · 0 评论 -
MFC导出对话框类(带资源)
如果mfc想导出一个功能完整的对话框(类似于系统自带的打开文件),有时候会创建失败,或者在DoDataExchange函数内断言中断,提示找不到某控件资源。这是因为dll加载后,mfc把resourcehandle设置为exe的句柄,创建dll对话框时搜索的也是exe的资源,当然找不到了。起始解决的方法非常简单,加入你的dll名称为dlg.dll。只要在对话框创建的位置添加如下代码。void Cra原创 2017-07-12 10:50:32 · 2746 阅读 · 0 评论 -
VC扩展mfc dll中子对话框不能获取焦点问题
VC扩展mfc dll中子对话框不能获取焦点问题解决:只要将子对话框的border属性设置为none即可解决,如下图 具体原因如下: 【待完成】原创 2017-04-13 21:32:47 · 1249 阅读 · 1 评论 -
判断C++类是否是is-a关系
判断类型是否有父子关系判断C++类之间是否有父子关系非常简单。使用如下方法即可:#include <type_traits>bool isSameType = std::is_base_of<baseClass, drivedClass>::value;原创 2017-01-19 16:12:27 · 1116 阅读 · 0 评论 -
Cairo1.14.2 + pixman0.32.6+libpng+zlib on VS2010
参考文章:lcwyylcwyy的专栏,http://m.blog.csdn.net/blog/lcwyylcwyy/8464582工具:mozilla-build1.11.0注意事项,因为需要编译到VS2010,所以修改文件start-shell-msvc2010.bat。步骤一、修改依赖库和头文件,start-shell-msvc2010.batif "%VC10DIR%"=="原创 2015-05-18 12:11:42 · 1768 阅读 · 0 评论 -
GDI+计算文本矩形区域
因为GDIPlus不支持类似CDC::DrawText中DT_CALCRECT的功能。而MeasureString又只能计算单行文本所占的宽度,特意设计此函数。 /*参数:lpRect,输入时用于指定位置和文本的最大宽度;输出时指定文本的矩形区域。nFormat,格式,采用GDI的DrawText的DTXX来控制,如果指定DT_CALCRECT则计算矩形区域,否则绘制文本。算法思路:1、原创 2017-07-05 15:04:11 · 1895 阅读 · 0 评论