
Mfc
文章平均质量分 73
万里独行程序猿
php、objective-c、C++
展开
-
MFC学习日记六:Mfc设置菜单项及消息分类
VC++资源编辑器提供所见即所得的编辑方式,点击VC++编辑器左下角的Resource(即VC++资源编辑器),想要编辑什么样的资源,只需要在对应的英文名称的文件夹下编辑就可以。现在做一个需要做一个Menu(即菜单);在打开的菜单试图编辑器中在菜单空白处右击选择属性,这里可以设置菜单的名称,在出来的属性对话框中左上角的钉子按钮是用来显示这个窗口最前显示用的(这里说不清楚,自己操作试试)Mf原创 2012-02-21 21:45:58 · 2313 阅读 · 0 评论 -
MFC学习日记十一:Mfc基于对话框编程之逃跑按钮(第八课)
8: 在一个基于对话框的应用程序,没有从CWnd派生出来的View的视类,也没有从CFrameWnd派生出来的框架类,只有从CDialog派生出来的对话窗类。逃跑按钮:想法:可以设计两个按钮,隐藏其中一个,当鼠标放在显示的按钮上的时候,隐藏这个按钮,并且显示那个另一个按钮,相应的鼠标放在另一个上的时候隐藏它显示当前被隐藏的。1、在资源编辑器中新建两个按钮,把其中一个的属性-原创 2012-03-11 15:33:59 · 1385 阅读 · 0 评论 -
MFC学习日记十二:Mfc属性表单操作(第八课)
属性表单:一些Mfc向导介绍:多文档:类似Word、Excel都是多文档应用程序,一次可以打开多个文档。这里说明CPropertyPage(属性页类)是从CDialog派生出来的, 所以它也是一个对话窗的类。 这里说明CPropertySheet(属性表单类)是从CWnd类派生出来的。编写之前原创 2012-03-11 15:43:52 · 2702 阅读 · 0 评论 -
多线程
在程序中独立运行的代码片段叫做线程,利用它编程叫做多线程。线程是进程的子单元,也可以说是一个轻量级的进程。 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的人物,也就是说允许单个程序创建多个并行的线程来完成各自的人物。多线程的好处在于可以提高CPU的利用率。在多线程的程序中,当一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大原创 2012-03-04 20:38:05 · 516 阅读 · 0 评论 -
MFC学习日记十:Mfc对话框编程控件的调用
动态收缩/扩展对话框:实现这个功能首先要创建一个按钮,当我们点击这个按钮的时候,替换上面的文字并且改变窗口的尺寸大小,实现这样的功能有以下几步:1、添加一个按钮,并且为这个按钮在CTestDlg类中添加响应函数OnButton()(这里有一个快捷方式,只需要双击我们用资源编辑器托出来的按钮,就可以实现我们用建立类向导添加响应函数一样的东西);2、在对话窗中添加一条线,用来标识我们收原创 2012-02-29 15:01:25 · 1341 阅读 · 0 评论 -
MFC学习日记一:MFC内部运行原理
Windows编程主线:设计窗口类注册窗口类产生窗口显示窗口更新窗口做消息循环将消息路由到窗口中去处理WinMain函数是所有程序的入口函数Mfc的WinMain函数是当我们编译链接的时候编译器将WinMain链接到程序当中了WinMain函数是在Msdn安装的位置的MFC文件夹下SRC目录下APPMODUL.CPP里就有_tWinMain它是一个宏右击它选原创 2012-02-16 21:26:33 · 2539 阅读 · 0 评论 -
MFC学习日记三:Mfc消息机制与画图
4:程序中画线首先要有两个点,那就是先要捕获两个点;windows是基于消息的编程,鼠标左键按下去获取一个点(WM_LBUTTONDOWN获取消息)拖动鼠标鼠标左键弹起来获取另外一个点(WM_LBUTTONUP获取消息)在窗口类(CMainFrame中对鼠标左键按下去和弹起进行消息响应),由于View类是覆盖在CMainFrame框架类窗口之上的,就像框架类是一堵墙,它的前面还挡着一堵墙就原创 2012-02-18 22:47:23 · 1227 阅读 · 0 评论 -
MFC学习日记五:Mfc文本编程
5:文本编程首先需要创建一个插入符,创建插入符用CreateSolidCaret( int nWidth, int nHeight );参数分别是Caret(插入符)的宽度和高度,如果设置为0则会认为是系统窗口边界的高度与宽度。创建插入符需要在窗口创建完成之后创建,就需要在响应WM_CREATE消息的函数里去创建,响应WM_CREATE消息的函数是OnCreate;接下来就是在这个函数里用查到原创 2012-02-20 14:01:19 · 1236 阅读 · 0 评论 -
MFC学习日记二:MFC内部运行原理
CTestView(View类窗口)和CMainFrame(框架类窗口)都是窗口类,View类窗口是覆盖在框架类窗口之上的。VC++中有一个文档视类结构,文档类就是CTestDoc类,视图类就是CTestView类;要把数据和数据显示分离开来,那么数据的存储加载都由CTestDoc(文档类)完成,数据的显示修改都由CTestView(视类)类来完成。在CTestApp类的函数InitIns原创 2012-02-17 21:44:47 · 1171 阅读 · 0 评论 -
MFC学习日记四:Mfc消息机制与画图
创建一个画刷用CBrush类:CBrush brush(RGB(255,0,0)); //创建一个红色的画刷CClientDC dc(this);dc.FillRect(CRect(m_ptOrigin,point),&brush); //用这个红色的画刷填充一个矩形区域,这里并不需要将这个画刷选到设备描述表当中创建一个位图画刷:CBitmap bitmap;bitmap.原创 2012-02-19 14:24:44 · 1077 阅读 · 0 评论 -
MFC学习日记九:Mfc对话框编程CDialog
7:这里说明CDialog类是从CWnd派生出来的,这个类是用来显示对话框的基类。对话框有:modal(模态)、modaless(非模态)两种。模态对话框:打开一个模态对话框必须在关闭这个模态对话框后才能执行其他任务。非模态对话框:与模态相反,不关闭这个对话框也可以执行其他任务。创建模态对话框:1、需要在资源视图里的D原创 2012-02-26 17:59:14 · 1604 阅读 · 0 评论 -
MFC学习日记八:Mfc设置菜单项及消息分类(总结)
总结:标准消息:除了WM_COMMAND之外,所有以WM_开头的消息。从CWnd类派生出来的类都可以接收这种消息。GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION | MF_CHECKED);//使用位置索引(选中想要的子菜单项,横线也占用索引号),在子菜单项中增加标记菜单GetMenu()->GetSubMen原创 2012-02-22 21:24:45 · 1382 阅读 · 0 评论 -
MFC学习日记七:Mfc动态(静态)设置菜单项
Mfc命令更新机制: 在应用程序中,菜单栏是一直要显示的,所以就要实时去更新它,显示它的即时状态(可用/不可用)。当我们要设置一个菜单不可用时,系统会发出一条消息WM_INITMENUPOPUP(可以理解为初始化菜单项弹出窗口消息) ,在此说明Mfc的命令更新仅适用于即弹出式菜单项(子菜单栏上的子菜单项),不能用于永久显示的菜单栏的菜单项(如上图所示)原创 2012-02-22 20:57:24 · 2957 阅读 · 0 评论