
MFC
candyliuxj
这个作者很懒,什么都没留下…
展开
-
MFC模态对话框和非模态对话框
MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消原创 2011-08-31 15:54:21 · 89096 阅读 · 19 评论 -
MFC在VS2008中如何手动添加消息映射
最近在学习MFC,使用的开发工具是VS2008,当时想在View类中添加一个按钮,需要WM_CREATE这个消息映射,可是View类中默认没有将这个消息添加进去,而我又没有找到自动的添加向导,所以就只能手动添加了。现在将手动添加消息映射的方法记录下来。(1)在View类的头文件中,在如下所示的地方添加OnCreate()函数:// 生成的消息映射函数protected: afx_msg原创 2011-08-28 10:27:54 · 9979 阅读 · 6 评论 -
MFC在VS2008中对ActiveX控件添加事件
(1)添加事件在类视图中找到Ctrl类,右击:选择添加->添加事件,弹出对话框:在事件名称中,在下拉列表中事件为常用事件,若直接在列表框中输入事件名,则为自定义事件。若定义自定义事件,则需手动编写触发此事件发生的代码。例如,对时钟控件自定义了一个事件MinuteEvent,条件是在满一分钟时触发此事件,则可在OnDraw()中添加如下代码: if (0 == time.原创 2011-10-29 16:23:25 · 6409 阅读 · 0 评论 -
MFC在VS2008中对ActiveX控件添加方法
(1) 添加方法。在类视图中,找到_DClockActiveX(其中ClockActiveX为工程名),在其上右击,选择添加->添加方法,在弹出的对话框中,输入方法名,选择此方法的返回类型:即完成对此ActiveX控件的方法的添加。 (2)实现方法。在Ctrl.cpp文件的Hello()函数中添加所要实现的代码。如:void CClockActiveXCtrl::Hel原创 2011-10-22 21:20:54 · 7322 阅读 · 2 评论 -
MFC在VS2008中为ActiveX控件添加属性
ActiveX控件有四种属性:(1)Stock:为每个控件提供的标准属性,如字体或颜色。(2)Ambient:围绕控件的环境属性——已被置入容器的属性。这些属性不能被更改,但控件可以使用它们调整自己的属性。(3)Extended:这些是由容器处理的属性,一般包括大小和在屏幕上的位置。(4)Custom:由控件开发者添加的属性。 在VS2008下,添加这些属性的方法如下所述:原创 2011-10-22 21:01:43 · 9792 阅读 · 9 评论 -
MFC在VS2008中开发ActiveX控件,运行时自带的容器在哪?
在VS2008中开发MFC ActiveX控件,开发完后,通常使用VS自带的容器ActiveX Control Test Container来运行ActiveX控件。此容器在VS安装后的文件中是找不到的,需要自己手动获取。如下所述:(1)按照你的VS所安装的路径,找到AllV原创 2011-10-15 16:43:21 · 5106 阅读 · 3 评论 -
MFC如何在VS2008中创建弹出式菜单?
在VS2008中,不能像VC++6.0那样通过Compnents and Controls来自动添加弹出式菜单,需要手动添加。可以采用两种方式创建弹出式菜单。一、利用现有的菜单资源创建(1)首先在资源视图中的Menu下新建一个菜单资源。(2)然后将新建的菜单编辑为原创 2011-08-30 17:58:15 · 8829 阅读 · 3 评论 -
MFC修改主窗口的标题
在CTextApp::InitInstance()中任何一个地方(在函数返回前)添加一句代码:m_pMainWnd->SetWindowText(L"Your Title");原创 2011-08-29 15:59:30 · 6079 阅读 · 3 评论 -
使用VS2008开发MFC,如何支持中文输入?
VS2008默认的字符编码是Unicode,在开发MFC时,使用CDC之类的设备,输入中文时会乱码,为了解决这个问题,需要修改VS2008的字符编码。(1)选择项目——Text属性,跳出如下对话框:(2)选择配置属性——常规,在右边的项目默认值中的字符集选项上,在下拉原创 2011-08-29 19:06:09 · 4393 阅读 · 3 评论 -
VS2008中添加位图资源
开发MFC工程,使用VS2008开发工具,欲添加位图资源,如下所示:(1)首先找到资源视图。资源视图的路径为:视图——资源视图。(2)然后在任何一个文件夹上右击,选择“添加资源”,出现如下对话框:(3)在此对话框中,选择左边资源类型中的Bitmap,再单击右边原创 2011-08-28 21:22:24 · 14542 阅读 · 0 评论 -
MFC中Document/View结构
(1)在MFC中,文档类负责管理数据,提供保存和加载数据的功能;视类负责数据的显示,以及给用户提供对数据的编辑和修改功能。(2)MFC给我们提供Document/View结构,将一个应用程序所需要的“数据处理与显示”的函数空壳都设计好了,这些函数都是虚函数,我们可以在派生类中原创 2011-09-17 08:49:07 · 2252 阅读 · 0 评论 -
MFC如何生成一个可串行化的类
一、MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程。(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的状态。(3)MFC支持CObject类中的串行化,所以,所有继承于C原创 2011-09-16 15:37:40 · 3725 阅读 · 0 评论 -
GetWindowRect()和GetClientRect()
通过例子来说明这两个函数的具体作用。创建一个基于Dialog的MFC应用程序工程Dialog,在对话框上添加一个按钮,其ID为IDC_BTN_ESCAPE:在DialogDlg.cpp中使用语句: CRect rectBtn; GetDlgItem(IDC_B原创 2011-09-02 17:44:50 · 4278 阅读 · 0 评论 -
MFC获取当前应用程序句柄的三种方式
(1)使用全局函数AfxGetInstanceHanle();(2)使用应用程序的全局变量theApp,在app文件中有定义。当使用theApp.m_hInstance来获取时,需要添加extern CStyleApp theApp;来声明theApp在外部已定义过。(3原创 2011-09-04 16:04:40 · 7563 阅读 · 0 评论 -
MFC采用VS2008开发,如何将变量关联到控件上?
使用VS2008开发MFC,比如说想将一个变量m_num关联到ID为IDD_EDIT1的edit control控件上。(1)首先找到资源视图(视图——资源视图),打开IDD_EDIT1所在的Dialog。(2)然后在此控件上右击,弹出一个菜单,点击选项“添加变量”,弹出原创 2011-08-31 20:16:04 · 15866 阅读 · 0 评论 -
VS2008如何自动添加消息映射
开发MFC时,开发工具VS2008不能像开发工具VC++6.0那样,直接在类文件上右击选择“Add Window Message Handles”来添加消息映射。对于我这个初学者,刚开始一直没找到可以自动添加的方法, 后来只能手动添加,熟练了之后手动添加起来倒也快,不过慢慢地我终于发现了自动添加的方法。 比如,现在需要在View类中添加WM_CREATE消息映射。(1)首先找到原创 2011-08-28 18:00:26 · 10633 阅读 · 6 评论