欢迎来到天天文库
浏览记录
ID:35976794
大小:47.50 KB
页数:8页
时间:2019-04-29
《教学拓展Visual_C++基础入门教程-第1课程序框架.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows窗口华丽大方,框架组成也很复杂,一般来说一个应用程序往往包括以下组成部分: 1、基本窗口包括标题栏和四个边框构成的工作区,这是程序的基本框架,所有显示的文字、图片、对话框都是在这个窗口框架当中显示,如果这个窗口关闭,那么相应的所有内容也都会关闭,有时也称作“父窗口”; 2、程序菜单、显示的文字、图片、弹出式对话框这些都是作为程序使用到的资源; 3、基于对话框上所显示的标签、文本框、列表框、滚动条等等称作是控件,它们可以完成一些特定的功能,它们不能独立存在; 4、键盘、显示器是输入输出设备,归Windows系统管理,应用程序使用之前需要向系统申请; 5、程
2、序的启动、运行,各个组件之间,是通过“消息”相互沟通的,程序启动后会自动发出一个“创建”消息,向系统申请内存、调入资源、构建程序窗口; 比较常见的是鼠标消息,鼠标单击、双击或者移动什么的,都会发送出相应的消息,程序就会显示一小段文字提示,要不就是按钮弹起来按下去等等, 有的消息系统帮着处理了,有的消息就得程序自己动手处理; 下面我们来创建一个较为完整的应用程序窗口: 1、启动VC,新建一个名为“SmlWin”的Win32Application工程,工程位置在自己的文件夹中; 2、新建一个名为“SmlWin”的头文件,方法是单击“新建”命令,在左边选择C++源程序上面的
3、C/C++HeaderFile,再在右边空白“文件”名称输入SmlWin,单击“确定”, 头文件包含源程序文件用到的函数申明,输入下面的代码(绿色部分是注释,必须以双斜杠“//”开头,先可以不输入), 有的一行太长会自动折到下一行,代码先抄到本子上,或者打印出来,注意I和l两个字母不同,代码使用缩进格式,规范化;//代码开始//申明一些源程序(SmlWin.cpp)中用到的函数原型;//申明和定义分开,互不干扰,定义在源程序中;//定义好的函数,在WinMain主函数中调用;LRESULTCALLBACKMainWndProc(HWND,UINT,WPARAM,LPARAM
4、);//申明一个消息处理函数BOOLInitApplication(HINSTANCE);//申明一个初始化窗口的函数BOOLInitInstance(HINSTANCE,int);//申明一个创建窗口的函数char*myStr="拉开窗帘,阳光照射进来。";//申明并定义一个用到的字符串 3、新建一个名为“SmlWin”的C++源程序文件,单击“确定”进入文本区输入下面的程序://///////////////////////////////程序名:SmlWin.cpp//用途是:显示一个简单窗口/////////////////////////////////包含头文件*
5、.h#include//运行在Windows系统下#include//用到字符串#include"SmlWin.h"//函数的申明HINSTANCEhInst;//申明当前实例句柄HWNDhWndMain;//申明主窗口句柄//////////////////////////////////////////////////////函数名:WinMain(HINSTANCE,HINSTNCE,LPSTR,int)//用途是:程序入口,调用初始化函数,处理消息循环,//////////////////////////////////////
6、//////////////intAPIENTRYWinMain(//主函数有四个参数 HINSTANCE hInstance,//当前实例句柄 HINSTANCE hPrevInstance,//前一实例句柄 LPSTR lpCmdLine,//命令行字符串 intnCmdShow)//窗口显示方式 //函数头结束,开始定义函数{ MSGmsg;//申明一个消息,消息是结构变量; //调用函数,初始化窗口数据,并注册窗口类; if(!InitApplication(hInstance))//调用InitApplication函数{ Mess
7、ageBox(NULL,"InitApplication函数错误","提示",MB_OK); //用于调试,找出程序没反应的错误 return(FALSE);} //调用函数,创建和显示窗口; if(!InitInstance(hInstance,nCmdShow))//调用InitInstance函数 return(FALSE); //进入消息循环,从应用程序消息队列中检取消息; while(GetMessage(&msg,NULL,0,0)) {//把虚
此文档下载收益归作者所有