mfc编程
文章平均质量分 82
Cherishnow1
这个作者很懒,什么都没留下…
展开
-
MFC中客户区和非客户区的区别&OnPaint和OnDrawn的区别
1.客户区和非客户区的区别:在一个MDI(多文档)应用程序中每个概念如下图所示: 窗口框架客户区即蓝色方框内区域,窗口框架非客户区指蓝色方框之外的窗口区域,包括程序图标、标题栏、菜单栏、最大\最小\关闭按钮,左右边框和底下的状态条。视图的客户区指图中绿色部分,即红色方框内区域,非客户区指视图部分红色方框之外的区域,包括文件图标、标题栏、三个按钮和两个滚动条。转载 2017-06-01 12:26:44 · 1803 阅读 · 0 评论 -
MFC双缓冲绘图解决界面闪烁问题
一:为什么会产生界面闪烁?解释这个之前,我们需要明白的是在MFC里面绘图的消息响应机制,大概的就是如果我们要在某一个 东西上面绘图,比如对话框,单文档等等,就必须先得到图形DC的句柄(handle),然后在指定句柄的基础上进行图形操作,也就是MFC常用的CDC *DC = this->getDC();其中的this就是你想画图的目标。MFC里在消息响应的过程中,WM_PAINT被转转载 2017-06-01 16:41:11 · 3284 阅读 · 2 评论 -
MFC Picture Control 自适应控件大小显示图片,失真和不失真
StretchBlt和BitBlt都用在双缓冲视图中,用来显示一幅图像一、StretchBlt函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩。也即是将内存中的位图拷贝到屏幕上,并且可以根据屏幕画图区的大小来进行伸缩,适应响应的屏幕(或图像控件)BOOL StretchBlt( int x, int y, int原创 2017-06-02 12:51:36 · 11288 阅读 · 0 评论 -
Unicode下CString与char*之间的转换 (VS2008)
在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2008环境下运行时会报各种各样的错误,这里总结了在VS2008环境中 Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode转载 2017-07-10 15:09:11 · 1104 阅读 · 0 评论 -
MFC读写ini文件方法
在我们的程序设计中经常需要对一些参数进行配置,配置好后还要在下一次启动仍然有效,那么一个有效的可行办法就是使用ini文件,也就是Windows初始化文件来保存一些我们的设置,然后让程序启动的时候从这个ini文件中读取相关配置。我们需要做以下的工作。 1.创建此ini文件,Windows对ini文件的操作有专门的函数,我们经常用的就是WritePrivateProfileStrin转载 2017-07-07 18:17:10 · 6514 阅读 · 0 评论 -
mfc textout显示字符串到窗口上
//MFC输出 CDC* pDC = this->GetDC(); char buffer[] = "千万里,千万里我追寻着你!"; pDC->TextOut(100,100, buffer, sizeof(buffer)-1); CString str; str="可是你并不在意!"; pDC->TextOut(100,130,str); this->Rele转载 2017-07-24 17:39:55 · 5956 阅读 · 0 评论