DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 381 382 383 384 385 386 387 388 389 ··· 474 下一页

2013年11月28日

摘要: 一、什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC在调用Windows的API(CreateWindow或者CreateWindowEx)创建窗口之前,要求程序员必须定义一个窗口类(不是传统C++意义上的类)来规定所创建该窗口所需要的各种信息,主要包括:窗口的消息处理函数、窗口的风格、图标、鼠标、菜单等。其定义如下:typedefstructtagWNDCLASSA(注:该结构为ANSII版本){UINTstyle;WNDPROClpfnWndP. 阅读全文
posted @ 2013-11-28 09:50 DoubleLi 阅读(1187) 评论(0) 推荐(0)

摘要: 话题引入:在C语言时代,当人们使用纯粹的C开发windows应用程序时,只需要通过窗口句柄HWND【HWND是WND的内存句柄,而WND是Windows是一个内部私有数据结构,存储着窗口的相关信息:尺寸信息、标题信息等。一般来说开发人员无法访问这个数据结构,不过可以以HWND为参数调用windows的API函数如:GetWindowRect、GetWindowText等获得对其的访问】即可完成有关窗口的操作。MFC类是C++类机制,MFC的类通过C++的对象方法将窗口的句柄封装起来。存在着窗口句柄(Windows对象)到MFC中C++窗口对象(MFC对象)之间的映射机制,该机制保证了HWND与 阅读全文
posted @ 2013-11-28 09:49 DoubleLi 阅读(539) 评论(0) 推荐(0)

摘要: 侯捷的<深入浅出mfc>相信大家都已经很熟悉了,论坛上也有很多介绍,这里我就不多说了。而李久进的<mfc深入浅出>,听说的人可能就少得多。原因听说是这本书当时没有怎么宣传,而自从1999年第1版后,似乎也没有重印过,现在市面上根本找不到,所以大部分人都不知道。我手里现在恰好有一本,是从图书馆借的。这本书全名为<mfc深入浅出——从mfc设计到mfc编程>李久进编著,华中理工大学出版。此书极佳!我这本书是1999年9月第一版,印数居然只有5000册。这么好的书只印5000册,而市面上都让一堆破烂玩意充斥着……这本书在写作目的上和侯捷的那本<深入浅出mfc>很相像。都是具体介绍mfc的原理和mfc 阅读全文
posted @ 2013-11-28 09:48 DoubleLi 阅读(659) 评论(0) 推荐(0)

摘要: main是C/C++的标准入口函数名WinMain是windows API窗体程序的入口函数。(int WINAPI WinMain()) 中 WINAPI是__stdcall宏,在windef.h中定义的。_tmain _tWinMain 是Unicode版本函数别名,对应与wmain和wWinMain。*****************************************************************************************中有如下几行:#ifdef _UNICODE#define _tmain wmain#define _tWinMa 阅读全文
posted @ 2013-11-28 09:47 DoubleLi 阅读(547) 评论(0) 推荐(0)

摘要: 文档视图结构(Document/ViewArchitecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/ViewArchitecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFCAppWizard就可以很轻松地获得一个支持Document/ViewArchitecture的MFC程序框架,Document/ViewArchitecture本身的复杂性加上VC产生的一系列代码足够让我们眼花缭乱,一时陷入云里雾里不可自拔。加上我们更多的人都没有经过WindowsSDKProgramming的学习和经历就直接进行MF 阅读全文
posted @ 2013-11-28 09:46 DoubleLi 阅读(393) 评论(0) 推荐(0)

摘要: CWnd::FromHandlePermanent ——根据窗口句柄得到CWnd*指针This function, unlikeFromHandle, does not create temporary objects.CWnd::FromHandle——根据窗口句柄得到CWnd*指针CWnd* PASCAL CWnd::FromHandle(HWND hWnd){CHandleMap* pMap = afxMapHWND(TRUE); //create map if not existASSERT(pMap != NULL);CWnd* pWnd = (CWnd*)pMap->From 阅读全文
posted @ 2013-11-28 09:45 DoubleLi 阅读(1083) 评论(0) 推荐(0)

摘要: 1、创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。 工作者线程CWinThread *AfxBeginThread( AFX_THREADPROC pfnThreadProc, //控制函数 LPVOID pParam, //传递给控制函数的参数 int nPriority = THREAD_PRIORITY_NORMAL, //线程的优先级 UINT nStackSize = 0, //线程的堆栈大小 DWORD dwCreateFlags = 0, //线程的创建标志 L.. 阅读全文
posted @ 2013-11-28 09:44 DoubleLi 阅读(1587) 评论(0) 推荐(0)

摘要: CL.exe是控制Microsoft C和C++编译器与链接器的32位工具。编译器产生通用对象文件格式(COFF)对象(.obj)文件。链接器产生可执行文件(.exe)或动态链接库文件(DLL)。注意,所有编译器选项都区分大小写。若要编译但不链接,请使用/c。使用NMAKE生成输出文件。使用BSCMAKE支持类浏览。以下是一个完整的编译器选项分类列表。优化选项 作用/O1 创建小代码/O2 创建快速代码/Oa 假设没有别名/Ob 控制内联展开/Od 禁用优化/Og 使用全局优化/Oi 生成内部函数/Op 改善浮点数一致性/Os 代码大小优先/Ot 代码速度优先/Ow 假定在函数调用中使用别名/ 阅读全文
posted @ 2013-11-28 09:43 DoubleLi 阅读(1353) 评论(0) 推荐(0)

摘要: 在程序编译完成后,生成的文件是以.obj为扩展名的对象文件,link.exe是将这些对象文件与库链接起来以创建可执行文件或动态链接库文件的工具。link.exe的输入文件包括obj文件、lib文件、exp文件、def文件、res文件、txt文件、ilk文件等等,而输出的文件一般是exe文件、dll文件、sys文件等可执行程序文件。1、命令行参数link.exe运行参数如下:LINK [options] files参数包括选项和文件名,选项和文件名可按任意顺序指定。link会首先处理选项,然后是文件。各参数间必须使用一个或多个空格或制表符来分隔。2、输入文件参数中的files是指链接器的输入文件 阅读全文
posted @ 2013-11-28 09:42 DoubleLi 阅读(5436) 评论(0) 推荐(0)

摘要: Windows应用程序中,图标、菜单、畏途、图标、工具条、对话框等是以资源的形式存在的。开发人员也可以自定义资源类型。如果一个程序使用了资源,那么它在构建时需要对资源进行编译。程序所使用的资源会在资源脚本文件(*.rc)中进行描述编写,编译时,资源编译器会将*.rc文件编译为可链接的.res文件。(资源中可以包括字符串)1、命令行参数使用如下方式在命令行中运行rc.exeRC [options] srcipt-fileoptions是编译选项,script-file是需要编译的资源脚本文件。用户可以使用如下方式调用:rc.exe /n /fo Hello.res Hello.rc2、资源编译器 阅读全文
posted @ 2013-11-28 09:41 DoubleLi 阅读(2398) 评论(0) 推荐(0)

上一页 1 ··· 381 382 383 384 385 386 387 388 389 ··· 474 下一页