MFC随笔】的更多相关文章

这段时间用MFC做完了项目里的一个对图像处理(字迹匹配)的软件,通过项目的具体要求的一步一步的实现,我也学习到了很多以前困惑很久的问题,算是对自己的一个提高吧,把一些有技巧性的操作记在这里,给以后的自己留一份存档也是不错的. 一.关于窗口绘制 1.添加窗口背景图片 MFC创建的窗口的确有点丑,如果不做美化的话做出来的软件也会看着都没有想用的欲望.闲话不多说,直接开始添加背景图片的步骤吧 (1)找到自己想作为背景的图片,并转换为bmp格式,复制到当前项目的资源文件夹res下 (2)对于对话框: 在…
设置映射模式  Y轴改为向上 dc.SetMapMode(MM_LOENGLISH);//低精度 dc.SetMapMode(MM_HIENGLISH);//高精度 文本对齐 dc.SetTextAlign(TA_CENTER|TA_BOTTOM); 背景模式 透明 dc.SetBkMode(TRANSPARENT); 求字符串长度 TCHAR buf[1024]; num = 1; _sntprintf(buf,1024,_T("hwllo %d"),num); lstrlen(bu…
在MFC中,有时需要多个类之间传递信息,一个共通的头文件是个不错的选择.如果在头文件中直接声明一个变量的话,势必会报出一个错误: error LNK2005: "struct my_global global_data" (?global_data@@3Umy_global@@A) already defined in MFCApplication1Dlg.obj 不对呀,我明明是在头文件声明的,不同的文件中的变量应该是同一个啊,怎么还重定义了呢? 反复查证之后,原来是自己对头文件的理…
最近在学习用MFC编写一个简单的界面.其实MFC并不是十分复杂的,经过一段时间的熟悉就可以实现许多基础功能.但是在编写的过程中,经常会遇到林林总总的bug,让人摸不到头脑.今天记录一个过去没有注意过的bug. 在主对话框的一个函数中,我需要对一个List Control控件进行操作.理所当然的,我想要直接传递句柄,于是这样声明以及调用函数: void void DisplaySubMax(int sub_id,CListCtrl m_cur_max); DisplaySubMax(0,m_sub…
第一次用博客,第一篇随笔,就写今天遇到的一个问题吧. 在VS2008的MFC对话框程序,窗口成员变量的声明顺序与其析构顺序相反,即,先声明的变量后析构,后声明的变量先析构.未在其他模式下测试. class A { public: A() { MessageBox(NULL,"A 构造", "A", MB_OK); } ~A() { MessageBox(NULL,"A 析构", "A", MB_OK);//并不会显示对话框 }…
[前话] 编译原理的第一个实验——词法分析器验收时,老师要求最后的结果用GUI的形式表现出来.想想确实,黑白的控制台应用程序界面在用户操作时的确不如GUI 友好.GUI界面也算是大势所趋.我现在掌握三种语言的基本语法——c/c++.Java和python.python好久之前学过然后没用就忘记了,最近想写网络爬虫才又重新去看,对于python写GUI也是一窍不通,不做考虑.自认为Java写GUI比较方便,但是实验代码已经用c写完了,所以最后 决定用mfc做这个GUI. 到了大二下陆陆续续的做了一…
引言 我们知道,在MFC框架中,用于绘图的接口是GDI.但GDI只能绘制简单的2D图形,要想制作精美的3D图形,一个可行的办法是使用OpenGL或者Direct3D等第三方库. 由于最近在给导师的一个小项目帮忙,而且要求使用OpenGL,所以我特地在网上搜索“如何在MFC框架中使用OpenGL”,看了很多博文,甚至论文(居然还有人把这个写成论文)后,自己又到VS2012上尝试了一番,最终摸索出了最最简单基本的使用方法,故总结在这里.一方面开启自己在博客园的学习和自省之路,另一方面也为需要的朋友提…
一 为什么要选择SQLite 由于使用文本文件来记录测试数据,速度越来越慢的问题,经过园友推荐,使用了SQLite来进行数据的存储,再次感谢园友@LightSmaile. 关于这个问题,可以参考一下上一篇随笔中的介绍,为何要更换用数据库来存储数据.链接地址:http://www.cnblogs.com/fredliu/p/6692986.html 二 选择SQLite使用方法 当然SQLite的使用方法有很多,网上也有很多的介绍,经过筛选,我选择了使用一个封装好的MFC类,来使用SQL. 为什么…
此随笔中主要内容来自http://blog.csdn.net/china_hxx/article/details/10066655,原出处不详. 以下内容基于VC 6.0.要实现界面多语言化,必须要先配置项目使其支持Unicode编码,文章<VC下的Unicode编程> 对此有详细介绍. 首先创建一个基于MFC的工程,在选择语言时选择 中文[简体,中国]. 项目框架选择对话框.单文档和多文档都可以,这里就选个基于对话框的吧,然后立即修该项目属性使其支持Unicode. MFC已经为我们加入了一…
此随笔主要参考了http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html 为软件提供多国语言的支持的具体实现方法有很多,但基本原理都差不多,就是实现代码和语言包的独立,代码根据设定的语言选择语言包. 其中,MFC的资源文件就提供了对多国不同语言的支持功能,如果使用MFC开发,直接用资源文件自带的多国语言支持,可以省去不少的麻烦. 下面就介绍给MFC程序添加中英文的支持,开发环境为VS2010. 1.  新建工程 新建了一个对…