MFC
企鹅Sheldon
以Sheldon之名,过银行码农生活
展开
-
MFC第一课——MFC简介
最近开始研究MFC,教材是《深入浅出MFC》(第二版),现记录下学习过程中的心得体会,算是对自己知识的总结,也希望能给他人以帮助~第一课1.缩略词解释2.知识点1)"动态链接"4)窗口的注册与创建5)消息循环6)call back函数7)窗口函数8)消息映射Message Map9)对话框10)模块定义文件.DEF原创 2011-01-04 22:38:00 · 1500 阅读 · 0 评论 -
MFC中设置static text的字体和颜色[转]
原文地址:http://blog.sina.com.cn/s/blog_5eb73de10100dt5l.html 在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text的背景色和字体:1. 在对话框的类中添加两个变量:CBrush m_brush;CFont m_font;在OnInitDialog(转载 2011-10-28 21:17:40 · 7090 阅读 · 0 评论 -
关于CComboBox不显示下拉内容
最近在用MFC编写一个局域网主机MAC地址查找程序,界面上需要一个下拉列表框。创建界面不难,但运行后发现下拉列表无内容!所有属性和初始化代码都检查了,没问题,可就是无内容!:(后来经过多方调试,发现问题原因竟是如此简单——可视化创建界面时要将该控件高度拉大一点!!解释一下:就是在对话框的可视化编辑界面中,CComboBox控件所拉伸的大小是其编辑框和下拉框加一起的大小,所以如果你只原创 2011-10-22 15:10:41 · 5493 阅读 · 0 评论 -
关于“不能将参数1 从“CString”转换为“const char *””的一些思考
MFC开发时经常会遇到CString、string/std::string、char*等类型相互转换的问题,现将一些思考与心得记下来与大家分享: ①CString强制类型转换为const char*,在变量前加上:(char *)(LPCTSTR),这样做虽不会报错,但原创 2011-10-02 11:54:42 · 9448 阅读 · 1 评论 -
MFC下获取文件类型
本以为有直接的函数可供调用,可惜没有,后来我借用GetFileName函数通过取其"."后的子串来获得文件类型。相关代码: //获取文件类型 CString fileName = finder.GetFileName(); int dotPos=fileName.ReverseFind('.'); CString fileExt=fileName.Right(fileName.GetLength()-do原创 2011-04-29 15:38:00 · 2530 阅读 · 0 评论 -
CString与std::string相互转换
<br />之前在用MFC编Bayes时遇到一个问题,就是CString与std::string的相互转换,后来发现转换方法其实很简单,就是直接利用这两个类的构造函数。当然,在做参数传入时,CString得通过(LPCTSTR)转换一下,而std::string则需调用c_str()函数:<br /> <br />CString转成std::string:<br />CString cs("Hello");<br />std::string s((LPCTSTR)cs);<br /> <br /> <br原创 2011-04-29 15:26:00 · 24588 阅读 · 0 评论 -
MFC下的序列化输出输入
<br />前不久用MFC编写Bayes算法时需要将训练模型序列化输出到文件。具体用法是:<br />①首先利用CFile类新建一个文件对象用于指向模型文件。<br />②然后再利用CArchive类指向该文件对象用于序列化输出。<br />③最后,要序列化输出的变量通过调用Serialize()函数向模型文件中写入数据。<br /> <br />相关代码如下:<br />//序列化输出<br />long BayesTrain::OutputBayesModel()<br />{<br /> CFile原创 2011-04-29 14:57:00 · 1312 阅读 · 0 评论 -
error C2248: “CObject::CObject”: 无法访问private 成员(在“CObject”类中声明)
<br />MFC编程时遇到此问题,原因和解决方法如下:<br /> <br />问题代码:<br /> BayesTest bTest(m_ModelPath);<br /> BayesCategoryTest(bTest, m_TestPath);<br /> <br /><br />其中BayesTest类的对象作为参数传入函数时必须以指针的形式传入,否则无法访问private成员,所以代码应改为:<br /> BayesTest bTest(m_Model原创 2011-04-29 16:25:00 · 11429 阅读 · 2 评论 -
MFC递归遍历目录下所有子目录和文件
<br /> 在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历(事实上,CFileFind本身还可以判断文件具体属于哪种类型,例如压缩文件、系统文件等)。另外要注意,遍历过程中会读到"."文件和".."文件,可通过fileFinder.IsDots()函数识别。<br /> <br /> <br />相关代码:<br />//Bayes测试函数(递归)<br />void CTestPage::BayesCa原创 2011-04-29 15:56:00 · 16281 阅读 · 4 评论 -
一行一行的读取txt中文文本(解决乱码问题)
最近用MFC编Bayes文本分类器,需要将停用词从txt文件中依次读出来(每行一个词),用其本身的CStdioFile类的ReadString函数虽然可以一行一行读入文本,但到程序中就成了乱码,采用一些编码转换方法都未能解决问题。 后来,我干脆直接采用ifstream读文件,一个字符一个字符的读入文本,并通过比对'/n'判断是否换行。最后,再通过c_str函数和CString的构造函数将std::string转化成MFC的CString。完整的代码如下:原创 2011-04-11 15:53:00 · 9211 阅读 · 0 评论 -
在vs2005中使用SkinMagic[转]
今天想美化控件界面,在网上搜到SkinMagic,据说很好用,果断下来试试。搜到一篇相关教程,是专门针对vs2005的~原文地址:http://matraxa.blog.163.com/blog/static/378700412010855852610/转载 2011-03-04 17:10:00 · 1280 阅读 · 1 评论 -
VC++下的文件选择器源码
要想在VC++(MFC)中实现文件的浏览与选择很简单,调用CFileDialog类就行,示例代码:原创 2011-01-18 16:06:00 · 1088 阅读 · 0 评论 -
MFC通过URL连接php服务器的相关问题
1.首先,若有如下URL:http://222.31.76.209/test.php其中222.31.76.209是服务器的IP,但其并非指向服务器的根目录,而是一个相对路径,具体所指目录要在/etc/httpd/conf/httpd.conf文件中查看和设置:原创 2011-01-17 12:17:00 · 2184 阅读 · 0 评论 -
MFC第三课——C++特性
一、封装(member variable成员变量、member function成员函数)二、基类与派生类——继承(Inheritance)三、虚函数与多态(Polymorphism)四、虚函数表(vtable)五、静态成员(变量与函数)六、构造函数与析构函数七、运行时类型识别(RTTI)八、异常处理(Exception Handling)九、Template原创 2011-01-10 09:35:00 · 1031 阅读 · 0 评论 -
MFC第二课——Console程序、进程和线程
今天学习了Windows的Console程序、进程和线程这三个概念:一、Console程序二、进程的诞生与死亡三、线程 2)诞生与死亡 3)线程优先级(Priority)原创 2011-01-06 15:30:00 · 1222 阅读 · 0 评论 -
Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage[转]
原文地址:http://hi.baidu.com/chendongzhou/blog/item/f648e34500f7d62acffca393.htmlWin7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage环境:Windows 7 Ultimate x转载 2012-01-07 18:48:52 · 1291 阅读 · 0 评论