![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
xgrdszdx
这个作者很懒,什么都没留下…
展开
-
MFC 如何设置子对话框背景透明而控件不透明
想子对话框透明,主要是截获WM_ERASEBKGND消息不去清空背景或者设置窗口default brush为NULL_BRUSH,另外重要的一点是window style中不能包含WS_CLIPSIBLINGS标记,同时parent window的style不能包含WS_CLIPCHILDREN,这样才能获得parent window被子窗口遮住部分的背景...转载 2018-07-03 09:58:53 · 2145 阅读 · 1 评论 -
CToolTipCtrl提示内容为什么不能换行,加"\r\n"也不行
Tooltip中由一个方法叫做SetMaxTipWidth,MSDN中的描述说是设定Tips窗口的最大宽度,然后就没了。其实这个方法是使用SDK中的TTM_SETMAXTIPWIDTH 消息,查一下这个消息的描述,就会发现很多内容。1. 这个方法是设定Tips窗口的最大宽度,in pixel;2. 如果文字超过这个最大宽度,则control进行自动换行,以空格为换行标志;3. 如果无法换行(没有空...原创 2018-07-05 13:49:42 · 424 阅读 · 0 评论 -
mfc 对话框显示PNG
使用GDI+可以轻松实现首先在CxxApp.cpp中加载GDI+BOOL CxxApp::InitInstance(){ // 如果一个运行在 Windows XP 上的应用程序清单指定要 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, //则需要 InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTR...原创 2018-07-19 16:30:11 · 1593 阅读 · 0 评论 -
GDI+ 从资源文件读取自定义图片
BOOL ImageFromIDResource(UINT nID, LPCTSTR sTR, Image * & pImg){ HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsrc = ::FindResource (hInst,MAKEINTRESOURCE(nID),sTR); // type if (!hRsrc) ...原创 2018-07-31 10:14:55 · 874 阅读 · 0 评论 -
GetWindowRect和GetClientRect的区别详解
一:关于坐标 MFC中绘图时经常涉及到坐标计算,GetWindowRect和GetClientRect这两个函数,是获取逻辑坐标系中窗口或控件(其实也是窗口)大小和坐标的常用函数了,有什么不一样的?先说说什么叫逻辑坐标?讲到逻辑坐标,它相对的一个概念是设备坐标,是为了屏蔽掉不同设备属性差别而设置的抽象坐标系,说白了,就是独立于设备坐标的统一接口,程序员不需要去在具体的设备上进行绘图操作,...转载 2018-09-06 15:11:28 · 218 阅读 · 0 评论 -
OnEraseBkgnd、OnPaint与画面重绘(很好的说明其调用实现关系)
问题背景:窗体在重绘时,由于过频的刷新会引起闪烁现象——窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。绘制过程:当窗口整体需要重绘时,系统依次发送WM_NCPAINT、WM_ERASEBKGND、WM_PAINT...转载 2018-09-07 09:25:06 · 324 阅读 · 0 评论