风格 描述按钮风格 应用于CButton类对象,例如单选框.复选框和按钮.在CButton::Create的dwStyle参数中设置一个组合的风格.组合框风格 应用于CComboBox类对象.在CComboBox::Create的dwStyle参数中设置一个组合的风格.编辑风格 应用于CEdit类对象.在CEdit::Create的dwStyle参数中设置一个组合的风格.框架窗口风格 应用于CFrameWnd类对象.在CFrameWnd::Create的dwStyle参数中设置一个组合的风格.列…
改变VS2010 MFC的按钮风格 VS2010建的MFC工程按钮默认的风格类似VC6.0(直角矩形),如想美观按钮改为WIN7的按钮风格(圆角矩形),只需在代码中找到头文件"stdafx.h",在里面添加如下代码即可: #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' proces…
研究zlib库,想实现一个类似winrar功能的小东东,打开winrar界面看它的工具栏比较好看于是动手想做一个,当然资源也使用的是winrar附带的.下面是截图:真彩色(32位)32*32大图标工具栏 我得工具栏风格 smile风格 代码下载 感触:软件功能重要,软件的形象也重要.好的UI界面给优美的感觉,小软件要花哨,大软件要庄重. from:http://www.cppblog.com/wlwlxj/archive/2006/11/09/14897.html…
菜鸟还在研究这个东西,大神就不要看了.一直都在觉得用VC或VS建立的对话框总是全灰色感觉太单调了,如果可以在上面添加一些漂亮的图片就好了,今天终于实现了.其实挺简单的,下面就分几个步骤讲一下: 第一步:做好一张BMP格式的图片 第二步:建立一个对话框,添加一个按钮控件 第三步:添加资源,引入位图 第四步:最后一步添加一点代码就OK了,添加代码的位置是OnInitDialog这个函数里面,这个是绘制对话框的函数. HBITMAP   hBitmap;     //定义一个位图变量 hBitmap…
窗口风格(Window style) WS_BORDER   有边框窗口 WS_CAPTION   必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分. WS_CHILD   说明窗口为子窗口,不能应用于弹出式窗口风格(WS_POPUP). WS_CHILDWINDOW   同WS_CHILD. WS_CLIPCHILDREN   绘制父窗口时,不绘制子窗口的裁剪区域.使用在建立父窗口时. WS_CLIPSIBLINGS 剪裁相关的子窗口,这意味…
窗口风格(Window style) WS_BORDER   有边框窗口 WS_CAPTION   必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分. WS_CHILD   说明窗口为子窗口,不能应用于弹出式窗口风格(WS_POPUP). WS_CHILDWINDOW   同WS_CHILD. WS_CLIPCHILDREN   绘制父窗口时,不绘制子窗口的裁剪区域.使用在建立父窗口时. WS_CLIPSIBLINGS 剪裁相关的子窗口,这意味…
MFC技巧学习 摘自:http://www.cnblogs.com/leven20061001/archive/2012/10/17/2728023.html 1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承: 然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch: 最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码: { m_tabsheet.Cr…
一:消息1.什么是消息?消息是驱动windows系统运行的基础.从计算机的角度来看,消息就是一个整数.    (1)一个无符号整数,是消息值:    (2)消息附带的WPARAM和LPARAM类型的参数:    (3)其实我们一般所说的消息是狭义上的消息值,也就是一个无符号整数,经常被定义为宏. 2.消息映射机制: MFC使用消息映射机制来处理消息,在程序框架中的表现就是,在程序中有一个消息与消息处理函数组成的消息硬设备,每条消息都有与之相对应的消息处理函数.当窗口接收到消息时,会到消息映射表中…
http://www.cnblogs.com/lzmfywz/archive/2012/03/15/2399403.html 一.MFC类库概述 MFC(Microsoft Foundation class)微软基本类(库),有时候也有人叫做微软基本类库,因为它确实是一个类库(物理上讲),而且非常庞大:它也是一个面向对象的应用程序架构(逻辑上),程序员利用它可以很方便搭建应用程序框架.MFC结合了面向对象的编程技术和WINDOWS消息驱动的编程技术,并封装了WIN32API,其设计好处:消除了W…
一. 什么是MFC? 如果你要建立一个Windows应用程序,应该如何下手? 好的开端是从设计用户界面开始. 首先,你要决定什么样的用户能使用该程序并根据需要来设置相应的用户界面对象.Windows用户界面有一些标准的控件,如按钮.菜单.滚动条和列表等,这对那些Windows用户已经是很熟悉了.要记住的是,作为程序员必须选择一组控件并决定如何把它们安排到屏幕上.传统上,你需要在纸上做一下用户界面的草图,直到对各元素感到满意为止.这对于一些比较小的项目,以及一些大项目的早期原型阶段是可以的. 下一…
<<对0基础MFC者的一点建议>>---------------------摘自某论坛lint2008的回复,不管对错,先看看.     因为上半年自己刚刚学了点MFC,算是对MFC有了点了解.但也只算是会使用,至于对其更多的细节算不上了解.所以其实所知甚少.这里所要讲的,只是帮助从未接触过MFC的人更快地了解和能使用MFC,减少入门的时间,至于其核心原理,我爱莫能助.另外,因为我在深圳学习MFC期间做的笔记无缘丢失,所以当时总结的很多东西都没有保存下来.所以很多东西都有点忘了,有…
题目:写一个基于MFC对话框的程序,界面输入整型a和b,点击计算,开启线程计算a+b,并把结果返回给对话框.(1)不能用结构体和类(2)用到自定义消息(3)鼠标移到[计算]按钮上变为收尸图标.参考界面如下. 题目非常基础了,我下面直接贴代码了,算是做一个总结. // 计算器Dlg.h : 头文件 // #pragma once #include "afxwin.h" #include "MyButton.h" #define WM_UPDATEDATA WM_USE…
<基于MFC框架开发>马志国 1491989781 MFC课程的组成 1.1 MFC应用程序的组成部分.执行机制和执行流程(10.5天). 1.2 Windows平台上的数据库访问技术(1.5天) MFC的ODBC类和Ado组件 1.3 Windows平台上的网络通信编程 (1天) 基本的socket函数和MFC的socket类 1.4 项目:远程控制系统 (3天)2 MFC课程目标 2.1 掌握MFC的原理和机制 2.2 熟练掌握断点调试和查看堆栈调用,了解函数的调用关系. 2.3 熟练掌握…
消息反射机制要解决什么问题呢? 消息反射机制主要是为了控件而实现的.每当控件需要某些资讯(比如,绘制自身背景的画刷,显示字体的颜色等等)时,都会频繁地向其父窗口发送通告消息(notification message),比如最常见的WM_CTLCOLOR通告消息,让父窗口为它提供各种服务.当子控件很多时,父窗口很会变得臃肿不堪,而子控件却没事可做.另一方面,假如我们想继续创建一个相同风格的控件时,必须在父类中重复相同的代码.前者让我们程序不够健壮,父窗口可能累死:后者不利于代码的重用,很可能把程序…
一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Windows操作系统中,动态链接库C:/WINDOWS/system32/gdi32.dll(GDI Client DLL)中定义了GDI函数,实现与设备无关的包括屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面功能.在Visual C++6.0中的头文件C:/Program Files…
打开VS 创建MFC基于对话框的工程,在对话框初始化方法中动态创建一个按钮实例: 1> CButton *pMyButton = new CButton();CEdit *pMyEdit = new DEdit; 2>pMyButton->Create(_T("ButtonName"),WS_CHILD|WS_VIVIBLE_BS_PUSHBUTTON,CRect(10,20,80,80),this,IDC_MYBUTTON); pMyButton->Creat…
好人做到底,送佛送到西.虽然上一篇教程已经说得很详细了,但Alberl还是再举一个例子.上一篇教程的主窗口是MFC的,所以这篇教程把主窗口换成duilib的~O(∩_∩)O~ 1.我们利用<2013 duilib入门简明教程 -- 完整的自绘标题栏(8)>里的XML做为主窗口,并且把客户区的控件都去掉,换成一个自定义控件<Dialog />.将XML改名为XMP_MAIN.xml,并放到exe目录. 2.在CDuiFrameWnd::CreateControl()函数里,加入自定义…
在描绘MFC界面时,MFC自带的控件样式是绝对不满足界面的需求的. 所以我们就要在MFC自带控件基础上对控件样式进行重绘. 在采用自绘前界面样式 采用自绘后界面样式 是不是自绘控件后看起来正常了很多? 自绘控件的步骤: 我们以做一个关闭按钮为例 先创建一个MFC类继承自CButton. 给这个类添加 一个虚函数DrawItem(),一个虚函数PreSubclassWindow()和 一个afx BOOL OnEraseBkgnd()函数(一般以afx开头的函数都会在消息映射里面有一条映射) Dr…
MFC定时器实现方法 方法一:CWnd类提供的成员函数SetTimer实现定时器功能,只能在CWnd类或其派生类中调用. 方法二:Windows API函数SetTimer来实现. MFC定时器 启动定时器 启动定时器就需要使用CWnd类的成员函数SetTimer.CWnd::SetTimer的原型如下: UINT_PTR SetTimer(              UINT_PTR nIDEvent,//指定一个非零的定时器ID              UINT nElapse,//指定间…
MFC中的窗口创建及窗口消息映射 我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清.这两者之间是紧密联系在一起的,但是MFC为了自身的管理,在CWnd中加了一些额外的内容,包括如何从HWND生成CWnd. 在MFC中,有几种典型的窗口对象,CWnd描述的一般窗口对象,CView描述的视图对象,CFrameWnd描述的SDI框窗对象,CMDIFrameWnd描述的MDI框窗对象等等.在这一章中,主要讨论下述内容: MFC中窗口的…
现在我发现使用Visual Studio的资源编辑器进行编辑资源有着诸多的不便:首先是任何资源的变动一般变动代码,不利于系统维护,其次Visual Studio的资源编辑器的本身的功能有限,也不利于界面美化,三是不利于人员分工,开发人员既要忙实现功能,又要忙准备好的界面素材.对界面实现文件配置化正是解决上面问题的好方法.这次我实现了使用XML文件配置工具栏.这里所谓配置就是工具栏的界面信息如工具栏标题.按钮图片.是否为分隔符都在XML文件保存,程序通过解析XML文件来获取工具栏信息来创建工具栏.…
要把如下的两篇文章结合起来看: qt怎么获取硬盘序列号,是不是没戏? http://www.qtcn.org/bbs/simple/?t65637.html system("wmic path win32_physicalmedia get SerialNumber"); 在VC下执行DOS命令并得到输出 https://www.cnblogs.com/cnarg/archive/2011/02/20/1959292.html http://topic.csdn.net/u/20081…
什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了. 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序.通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数. 1.1 用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(  HWND hWnd,              // 窗口句柄  UIN…
大家都知道,windows API编程以及其消息处理,其过程都清晰可见,大体步骤如下: 1)声明消息窗口类 2)注册窗口类 3)createwindows 4)消息获得以及分派(windows procedure). 但是,对于MFC同样是Windows程序,其流程却显得灰暗不明.先具体分析(备录)如下: 在MFC中有两个重要的类,CWinApp,CFrameWnd,它们两个的存在在某种意义上来说代替了WinMain 和 WinProc的存在. 对于任何一个MFC程序,都存在一个Applicat…
本章将会对MFC的消息映射和 命令传递机制做深入探讨. MFC规定了消息传递的路线,消息会按照这个路线传递下去,找不到归宿的话就交给DefWindowProc. 在产生窗口之前,如果我们在创建窗口时指定的窗口类为NULL时,MFC会自动注册五个默认的窗口类,每个窗口类有自己的窗口函数.不同窗口得到的消息应该交由不同的窗口函数来处理.所谓的命令传递机制是为了让消息的流动有线路可循,实现一个巨大的网,实现所有可能的路线.这就是所谓的消息映射图. WM_COMMAND是来自菜单或工具栏,被称为命令消息…
参考文章:MFC的消息反射机制 在前一篇文章:MFC消息处理流程概述中描述了MFC消息处理的大体流程.由CWnd::OnWndMsg函数可知,当消息为WM_NOTIFY消息时,调用的是virtual CWnd::OnNotify处理. if (message == WM_NOTIFY) { NMHDR* pNMHDR = (NMHDR*)lParam; if (pNMHDR->hwndFrom != NULL && OnNotify(wParam, lParam, &lRes…
MFC Object 和 Windows Object的含义 Window Object(Window对象)是Win32下用句柄表示的Windows操作系统对象.MFC Object(MFC对象)是C++对象,是C++类的实例,而且这里的MFC Object是指封装了Windows Object的C++对象,而不是任意的C++对象. MFC Object 与 Windows Object的区别于联系 一个MFC窗口对象是C++ CWnd类(或派生类)的实例,是程序直接创建的.在程序运行中它随着窗…
http://www.cnblogs.com/lzmfywz/archive/2012/04/22/2465069.html CStatic CObject └CCmdTarget └CWnd └CStatic CStatic类提供了一个Windows静态控件的性能.一个静态控件用来显示一个文本字符串,框,矩形,图标,光标,位图,或增强的图元文件.它可以被用来作为标签,框,或用来分隔其它的控件.一个静态控件不接收输入,也不提供输出:但是,如果它是用SS_NOTIFY风格创建的,则它可以通知其父有…
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现.AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化. (2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名.Example:TCHARexeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是128G…
第三章 ATL的窗口类 CWindowImpl.CWindow.CWinTraits,ATL窗口类的奥秘尽在此三者之中.在本章里,李马将为你详细解说它们的使用方法.另外,本章的内容也可以算是本书的核心部分--如果你要进行ATL的GUI程序设计的话,就必须将ATL的窗口类设计理念了然于心. 窗口的组成 把ATL的窗口类撇开不谈先.我在上一章中提到:窗口类并非任何一种OOP语言中的类--它所包括的并不是通称的属性和方法(在C++中称作成员变量和成员函数),而是属性和响应.现在是解释这句话的时候了.…