MFC学习之路
文章平均质量分 57
RJS_April
享受过程
展开
-
MFC之C++构造函数
最近在学习的MFC的过程中,复习了C++的的一些基本知识,其中涉及到构造函数的一些问题如果一个类中没有定义任何的构造函数,那么C++编译器在某些情况下会为该类提供一个默认的构造函数,这个默认的构造函数是一个不带参数的构造函数。只要一个类中定义了一个构造函数,不管这个构造函数是否是带参数的构造函数,C++编译器就不再提供默认的构造函数。也就是说,如果为一个类定义了一个带参数的构造函数,还原创 2012-02-20 20:10:41 · 4949 阅读 · 0 评论 -
MFC 变量未初始化,运行报异常
最近在VS2008上写了一个UDP的小例子,在服务器端创建了一个线程用来接收和发送数据。线程函数代码为:DWORD WINAPI ServerThread(LPVOID lParam){ DWORD acq;//此处省略 return acq;}acq作为返回值。在声明的时候没有初始化,编译通过。但是在运行时,要返回acq时,便会报异常了,异常内容为:原创 2012-09-25 19:56:19 · 2125 阅读 · 1 评论 -
MFC之VS2008的DEBUG和RELEASE
昨天写了一个迷你型的点对点的通信工具,纯练手,所以功能并没有那么强大,就是简单的点对点聊天,可以互相发送消息,使用TCP协议实现。写这个主要是想封装出两个模块,就是TCP协议下的发送数据和接收数据,看很多教程上把服务器端和客户端作为两个project或者做两个界面,我觉得不太实用,就把服务器端和客户端揉合到一起了,每一个客户既可以做服务器也可以做客户端,就是用多线程实现的,没有什么技术难点,在此就原创 2012-03-14 11:30:53 · 2088 阅读 · 0 评论 -
MFC之为对话框添加变量
进来一直在学MFC,现在基本都在VS2008下练习写一些小程序,偶尔也会在VC6.0下,很多教程都是在VC6.0下写的代码,但是做一个大工程的话,个人感觉VS还是比较好的。顺便也发表一下自己的观点。带实验的时候看到一些刚接触C语言的同学就用VS,他们毫无编程经验,对C语言本身都是一知半解,写的又都是控制台程序,通常很小很小的程序,最多也就100行代码了,可是非要用VS,如此功能强大的V原创 2012-03-09 21:10:25 · 8070 阅读 · 1 评论 -
MFC之取得屏幕大小,设置对话框大小
要取得屏幕大小,可以用下面几个函数: int cx = GetSystemMetrics(SM_CXFULLSCREEN); int cy = GetSystemMetrics(SM_CYFULLSCREEN);通过上边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域。 int cx = GetSystemMetrics( SM_CXSCREEN原创 2012-03-05 16:48:16 · 17312 阅读 · 0 评论 -
MFC之socket创建失败
今天看了socket编程,写了段代码,模拟的ping命令,但是过程很曲折。先写下socket的原型:SOCKET socket{int af,int type,protocol};如果成功,则返回套接字句柄。其中af指定协议簇,通常为AF_INET即IPV4协议。type指定套接字类型,有3种可选值:SOCK_STREAM:字节流套接字,提供有序的原创 2012-03-06 16:03:57 · 10425 阅读 · 9 评论 -
MFC之窗口的Z-order
窗口的Z次序表明了重叠窗口堆中窗口的位置,这个窗口堆是按一个假象的轴定位的,这个轴就是屏幕向外延伸的Z轴。Z次序最上面的窗口覆盖所有其他的窗口,Z次序最底层的窗口被所有其他的窗口覆盖。应用程序设置窗口在Z次序中的位置是通过把它放在一个给定窗口的后面,或是放在窗口堆的顶部或底部。Windows系统管理三个独立的Z次序,一个用于顶层窗口,一个用于兄弟窗口,一个用于最顶层窗口。最顶层窗口覆盖原创 2012-03-05 09:59:03 · 8076 阅读 · 0 评论 -
MFC之命令更新
MFC中,菜单项状态的维护是依赖于CN_UPDATE_COMMAND_UI消息,谁捕获CN_UPDATE_COMMAND_UI消息,MFC就在其中创建一个CCmdUI对象。我们可以通过手工或者利用ClassWizard在消息映射中添加ON_UPDATE_COMMAND_UI来捕获CN_UPDATE_COMMAND_UI消息。在后台所做的工作是,操作系统发出WM_INITMENUPOPU原创 2012-03-01 09:23:20 · 726 阅读 · 0 评论 -
MFC之工厂模式(C++ & java)
之前对面向对象了解不多,设计模式更不用提了,现在只能遇到一个学一个了,今天看了工厂模式,两个版本的,C++和java的,思想都是一样的,我都列出来了。文章都是转过来的,非原创哦C++版:简单工厂模式生活例子吃饭是人的基本需求,如果人类不需要吃饭,可能我们就能活得清闲许多,也就不需要像现在一样没日没夜的工作,学习。我们学习是为了找到更好的工作,好工作为了赚更多的钱,最终为了吃转载 2012-02-17 11:09:06 · 3796 阅读 · 3 评论 -
MFC之CCommandLineInfo
CCommandLineInfo类CObject└CCommandLineInfo类CCommandLineInfo用于分析启动应用时的命令行参数。MFC应用一般都会在它的应用对象中使用函数InitInstance创建这个类的一个本地实例。然后把该对象传给CWinApp::ParseCommandLine,ParseCommandLine又重原创 2012-02-17 10:38:53 · 6586 阅读 · 0 评论 -
MFC之CSingleDocTemplate构造函数
CSingleDocTemplate::CSingleDocTemplateCSingleDocTemplate(UINT nIDResource,CRuntimeClass* pDocClass,CRuntimeClass* pFrameClass,CRuntimeClass* pViewClass);参数:nIDResource指定文档类型使原创 2012-02-17 10:32:48 · 7776 阅读 · 2 评论 -
MFC之文档与视图
文档视图结构是使用MFC开发基于文档的应用程序的基本框架,最主要的思想是数据的管理和显示分离。使用文档类管理数据,视图类负责数据的显示,结合数据串行化存储机制,使得开发基于文档的应用程序更加方便。1.文档-视图结构文档类CDocument负责维护应用程序所需要的数据,提供一系列可对这些数据进行操作的方法,并且能够为视图提供所需要的数据。视图类CView拥有窗口的客户区域、负责显示文原创 2012-02-17 10:21:37 · 1362 阅读 · 0 评论 -
MFC之Unicode编程
一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H—FFH)被称为“扩展ASCII”,一转载 2012-02-17 09:17:47 · 8298 阅读 · 1 评论 -
MFC之MFC BEGIN_MESSAGE_MAP()
MFC BEGIN_MESSAGE_MAP()1BEGIN_MESSAGE_MAP(CpassApp, CWinApp)2 ON_COMMAND(ID_HELP, CWinApp::OnHelp)3END_MESSAGE_MAP()这些都是宏定义,不是函数。 在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之间添加你的消息响应函数,为转载 2012-02-16 15:57:53 · 4256 阅读 · 0 评论 -
VS2008 编译 链接器错误以及使用C语言函数的警告
在使用VS做项目的时候,在VS2005的版本开始,经常会出现两类错误,一个是在编译的时候,连接器经常死掉,无法成功编译,另外一个是使用了C语言函数后,会发出警告。下面分别来说说这两个问题的解决方案。一,链接器无法正常工作的解决方法:在使用VS开发,进行编译时,往往在语法没有错误的情况下,依然会频繁的出现链接失败,通常情况下,再build一次就好了。这个问题往往是由于增量链接导致原创 2013-01-16 11:22:15 · 2592 阅读 · 0 评论