win32编程基础.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:17 大小:88KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

win32编程基础.doc

win32编程基础.doc

预览

免费试读已结束,剩余 7 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

尽管Windows应用程序千变万化,令人眼花缭乱,但,消息机制和窗口过程却始终它们的基础,掌握了这两项技术,也就相当于把握住了问题的关键。如果你以前是C程序员或是MFC的忠实用户,只要你学习过C语言的语法,自己亲手编过一些简短的C程序,理解以下的Win32编程基础也不是一件困难的事。一个最简单的Win32程序在以前的C语言编程中,一个最简单的程序可以只有两行。voidmain(void){printf"HelloWorld!";}而要实现同样功能的Windows程序却最少也要写几十行,这并不是说明Windows应用程序效率低下,难于掌握,只是说明程序在Windows环境下有更丰富的内涵。Windows程序的效率其实不低,在所有的Windows应用程序中,都有一个程序初始化的过程,这得用上几十条语句,这段初始化的代码对于任何Windows应用程序而言,都是大同小异的。下面以一个实现最简单功能的程序EasyWin为例,说明Windows程序的基本框架。打开VisualC++6.0。选择File菜单的New,在出现的对话框中,选择Projects栏目(新建工程),并点取其下的Win32Application项,表示使用Win32环境创建应用程序。先在Locatin(路径)中填入“c:\”,然后在ProjectName(项目名称)中填入“EasyWin”,其它按照缺省设置)。单击OK按钮。再次选择File菜单的New,在出现的对话框中,选择Files栏目(新建文件),并点取其下的C++SourceFile项,表示新建一个C++源文件。在右边的File栏中输入“EasyWin”,最后确定让Addtoproject检查框打上勾)。单击OK按钮。在EasyWin.cpp文件中输入以下源程序代码。//*******************************************************************//工程:easywin//文件:easywin.cpp//内容:一个基本的Win32程序//*******************************************************************#include<windows.h>#include<windowsx.h>//函数声明BOOLInitWindow(HINSTANCEhInstance,intnCmdShow);LRESULTCALLBACKWinProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);//*******************************************************************//函数:WinMain()//功能:Win32应用程序入口函数。创建主窗口,处理消息循环//*******************************************************************intPASCALWinMain(HINSTANCEhInstance,//当前实例句柄HINSTANCEhPrevInstance,//前一个实例句柄LPSTRlpCmdLine,//命令行字符intnCmdShow)//窗口显示方式{MSGmsg;//创建主窗口if(!InitWindow(hInstance,欢迎光临学网,收藏本篇文章[1][2][3][4][5][6][7][8][9][10]$False$nCmdShow))returnFALSE;//进入消息循环://从该应用程序的消息队列中检取消息,送到消息处理过程,//当检取到WM_QUIT消息时,退出消息循环。while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}//程序结束returnmsg.wParam;}//******************************************************************//函数:InitWindow()//功能:创建窗口。//******************************************************************staticBOOLInitWindow(HINSTANCEhInstance,intnCmdShow){