欢迎来到天天文库
浏览记录
ID:41037417
大小:88.50 KB
页数:17页
时间:2019-08-14
《win32编程基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、尽管Windows应用程序千变万化,令人眼花缭乱,但,消息机制和窗口过程却始终它们的基础,掌握了这两项技术,也就相当于把握住了问题的关键。 如果你以前是C程序员或是MFC的忠实用户,只要你学习过C语言的语法,自己亲手编过一些简短的C程序,理解以下的Win32编程基础也不是一件困难的事。 一个最简单的Win32程序 在以前的C语言编程中,一个最简单的程序可以只有两行。voidmain(void){printf"HelloWorld!";} 而要实现同样功能的Windows程序却最少也要写几十行,这并不是说明Windows应用程序效率低下,难于掌握,只是
2、说明程序在Windows环境下有更丰富的内涵。Windows程序的效率其实不低,在所有的Windows应用程序中,都有一个程序初始化的过程,这得用上几十条语句,这段初始化的代码对于任何Windows应用程序而言,都是大同小异的。下面以一个实现最简单功能的程序EasyWin为例,说明Windows程序的基本框架。 打开VisualC++6.0。 选择File菜单的New,在出现的对话框中,选择Projects栏目(新建工程),并点取其下的Win32Application项,表示使用Win32环境创建应用程序。先在Locatin(路径)中填入“c:”,然后
3、在ProjectName(项目名称)中填入“EasyWin”,其它按照缺省设置)。单击OK按钮。 再次选择File菜单的New,在出现的对话框中,选择Files栏目(新建文件),并点取其下的C++SourceFile项,表示新建一个C++源文件。在右边的File栏中输入“EasyWin”,最后确定让Addtoproject检查框打上勾)。单击OK按钮。 在EasyWin.cpp文件中输入以下源程序代码。 //*******************************************************************//工程:e
4、asywin//文件:easywin.cpp//内容:一个基本的Win32程序//*******************************************************************#include#include//函数声明BOOLInitWindow(HINSTANCEhInstance,intnCmdShow);LRESULTCALLBACKWinProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);//*********
5、**********************************************************//函数:WinMain()//功能:Win32应用程序入口函数。创建主窗口,处理消息循环//*******************************************************************intPASCALWinMain(HINSTANCEhInstance,//当前实例句柄HINSTANCEhPrevInstance,//前一个实例句柄LPSTRlpCmdLine,//命令行字符intnCmdShow)
6、//窗口显示方式{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.wPara
7、m;}//******************************************************************//函数:InitWindow()//功能:创建窗口。//******************************************************************staticBOOLInitWindow(HINSTANCEhInstance,intnCmdShow){HWNDhwnd;//窗口句柄WNDCLASSwc;//窗口类结构//填充窗口类结构wc.style=CS_VREDRAW
8、C
9、S_HREDRAW;wc.lpfnWndProc=(
此文档下载收益归作者所有