
MFC
dazhi316
这个作者很懒,什么都没留下…
展开
-
输入焦点
<br /> <br /> Windows是一个以消息为导向的系统,应用程序只能被动地等待用户按键的消息,不能主动地去读键盘的状态,也就是说,每当键盘上有个键被按下,系统就会发出一个按键消息给窗口,告诉它某个键被按下去了,只要鼠标移动一下,系统也会发出相应的消息,并把鼠标的坐标信息传给窗口。 Windows可以同时执行许多程序,但键盘只有一个,怎么判断由哪个窗口接收键盘及鼠标的消息呢?采用“输入焦点”(inpuut focus)技术可以解决这个问题。只要某个窗口取得输入焦点,它不但会被提升到屏幕的转载 2010-10-25 10:09:00 · 898 阅读 · 0 评论 -
VC窗口类的相关问题
一 窗口注册和创建 1 Win32窗口程序创建步骤 1.1 WinMain入口函数的定义 1.2 WindowProc函数的定义 1.3 注册窗口类 RegisterClass/RegisterClassEx 1.4 创建窗口 CreateWindow/CreateWindowEx 1.5 窗口的显示和刷新转载 2012-08-29 09:10:49 · 1557 阅读 · 0 评论 -
在DLL中使用资源
现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题。这里我们从Win32 DLL和MFC DLL两个方面来分析并解决这个问题。1.Win32 DLL 在Win32 DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件。然后使用DialogBox或者CreateDialog转载 2012-01-18 11:32:37 · 433 阅读 · 0 评论 -
CFont & LOGFONT
<br />LOGFONT: 一个结构,用来逻辑上表达一个字体,比如LOGFONT.lfFaceName是字体的名字 <br />HFONT: 一个句柄,相当于表示内存中的一个字体对象,它可以马上拿来用 <br />CFont: 是mfc对于HFONT的一种封装 <br /> <br /> 可以说LOGFONT是一种墨水的名字,比如英雄牌,比较抽象; 而HFONT表示实实在在的一瓶墨水,打开瓶盖就可以用 ;CFont只是把一瓶墨水外面包了一层纸,其实它还是一瓶墨水.<br /> 当你需要简单原创 2010-11-23 09:25:00 · 1308 阅读 · 0 评论 -
框架窗口的创建
构造CFrameWnd窗口三种途径:1、使用Create函数直接构造2、使用LoadFrame函数直接构造3、通过文档模板直接构造在使用Create或LoadFrame之前,必须使用C++ New操作符在堆中构造框架窗口对象。在调用Create函数之前,必须使用AfxRegisterWndClass全局函数来登记窗口类,从而为框架设置图标或类的风格。使用Create成员函数,应指定所有框架窗口的构造参数。LoadFrame需要的参数比Create少,不过它需要的资源更多的缺省值,包括框架的标题、图标、加速表原创 2010-11-19 15:01:00 · 639 阅读 · 0 评论 -
CDocument / CView / CFrameWnd
<br />向导完成的创建DOC/VIEW过程主要做了以下几件事情,<br /> 1.new了DOC,FRAME,VIEW三个对象 <br /> 2.创建了FRAME,VIEW两个窗口 <br /> 3.将FRAME对象地址保存到APP对象中,将DOC对象地址保存到VIEW对象中,将VIEW对象地址插入到DOC对象里面的一个表中,将VIEW对象地址保存到FRAME对象里面. <br /> 向导产生对象使用RUNTIME_CLASS来动态创建的,其实就是new了一把. <br原创 2010-11-16 13:45:00 · 948 阅读 · 0 评论 -
GetModuleHandle函数
<br /><br />VC声明:<br /> HMODULE GetModuleHandle (LPCTSTR lpModuleName); <br />功能说明 <br /> 获取一个应用程序或动态链接库的模块句柄 <br />参数说明 <br /> lpModuleName 模块名称 <br />返回值 <br /> 如执行成功成功,则返回模块句柄。零表示失败。通过GetLastError获得错误信息 <br /> 如: <br /> GetModuleHandle(N转载 2010-11-16 09:05:00 · 2183 阅读 · 0 评论 -
vc小总结
1 句柄句柄是用来标志被应用程序建立或使用的对象的唯一整数。Windows要使用各种各样的句柄来标志窗口、菜单、输出设备和文件等。可以把句柄理解为与指针类似。用户必须通过某种方式来创建句柄,并要保证在使用完后销毁,以免造成资源的浪费。2存储器内存,随机存储器,它的一个重要特性就是,任何位置或字节都能以固定的时间进行访问。只读存储器,ROM的内容是计算机组装时做好的,不能改写。这个存储器有时称为ROM BIOS(Basic Input/Output Subroutines),所存信息是标明计算机的类型和开机后转载 2010-11-08 16:55:00 · 659 阅读 · 0 评论 -
利用MFC实现对象的拖放
<br /> 对象拖放是指对某一指定的对象,利用鼠标拖动的方法,在不同应用的窗口之间、同一应用的不同窗口之间或同一应用的同一窗口内进行移动、复制(粘贴)等操作的技术。<br /><br /> 利用对象拖放,可以为用户提供方便、直观的操作界面。<br />实现对象拖放技术,需要了解、使用MFC的CView、COleDataSource和COleDropTarget等类,并利用这些类协同工作。<br /> <br /> 本文讨论了对象拖放技术,并研究了如何利用MFC实现该技术。<br /转载 2010-11-08 16:46:00 · 612 阅读 · 0 评论 -
视图中的构造函数、OnCreate和OnInitiaUpDate进行初始化的区别
<br /> 构造函数:产生本类的对象,但是没有产生窗口;<br /> OnCreate函数:将产生窗口<br /> OnInitialUpDate:一般在这里对视图的显示做初始化;<br /> 简单的说,OnCrate只是产生VIEW的基本结构和变量,在OnInialUpdate中,主要初始化视图中的控件等,对各个变量进行初始化操作。<br /> 需要注意的是,在单文档的情况下,OnInitialUpDate会被调用多次。当应用程序被启动,或当用户从File菜单选择了New的时候,或当用户从Fi原创 2010-11-04 14:06:00 · 3112 阅读 · 0 评论 -
Windows 内存管理
<br />6.1 Windows内存管理<br /> 内存管理对于编写出高效率的Windows程序是非常重要的,这是因为Windows是多任务系统,它的内存管理和单任务的DOS相比有很大的差异。DOS是单任务操作系统,应用程序分配到内存后,如果它不主动释放,系统是不会对它作任何改变的;但Windows却不然,它在同一时刻可能有多个应用程序共享内存,有时为了使某个任务更好地执行,Windows系统可能会对其它任务分配的内存进行移动,甚至删除。因此,我们在Windows应用程序中使用内存时,转载 2010-10-27 09:37:00 · 752 阅读 · 0 评论 -
DestroyWindow
考虑单窗口情况:假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow();2. DestroyWindow会发送WM_DESTROY;3. WM_DESTROY对应的消息处理函数是OnDestroy();4. Destroy转载 2013-10-09 09:16:20 · 1402 阅读 · 0 评论