win编程_2讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
win编程_2讲

四、 Windows应用程序的组成 入口函数WinMain 窗口函数WndProc Windows应用程序 构成基 本框架 包含各种数据类型、数据结构与函数等 1. 所有应用程序的入口,类似main函数, 2. 完成一系列的定义和初始化,并产生消息循环 WinMain和WinProc是 Windows应用程序的主体 1. The WinMain Function 调用API函数RegisterClass注册应用程序的窗口类; 调用相关的API函数,在内存中创建和显示窗口,并进行其它必要的初始化处理; 创建并启动应用程序的消息循环,检查窗口是否产生消息进入消息队列,并分发消息到相应的窗口函数作进一步处理; 如果接收到WM_QUIT消息,则调用API函数PostQuitMessage,向系统请求退出。 2. The Window Procedure 使用回调函数,由应用程序定义; 决定窗口在客户区显示的内容和窗口对用户输入如何反应; 处理开发者添加的消息响应代码,如果不存在开发者添加的消息响应代码,将由API函数defWindowProc执行统一的默认消息处理。 WinApp示例—仅创建一个窗口的App #includewindows.h //嵌入windows的基本功能。 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明 //--------------- 以下初始化窗口类 ---------------------- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow) { //必要的变量准备 HWND hwnd ; MSG Msg ; WNDCLASS wndclass ; char lpszClassName[]=窗口; //窗口类名 char lpszTitle[]=My_Window;//窗口标题名 //窗口类的定义 wndclass.style=0;//窗口类型为缺省类型P72表3-5常用窗口标识 wndclass.lpfnWndProc=WndProc; //定义窗口处理函数 wndclass.cbClsExtra=0; //窗口类无扩展 wndclass.cbWndExtra=0; //窗口实例无扩展 wndclass.hInstance=hInstance; //当前实例句柄 wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ; wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName=NULL; //窗口中无菜单 wndclass.lpszClassName=lpszClassName; //窗口类名为窗口 WinApp示例—仅创建一个窗口的App //------ 以下进行窗口类的注册 ------- if(!RegisterClass(wndclass)) { MessageBeep(0); //如果注册失败则发出警告 return FALSE ; } WinApp示例—仅创建一个窗口的App //---创建实例窗口,并发出WM_CREATE消息----------- hwnd=CreateWindow (lpszClassName, //窗口类名 lpszTitle, //窗口实例的标题名 WS_OVERLAPPEDWINDOW, //窗口的风格 CW_USEDEFAULT, CW_USEDEFAULT, //窗口左上角坐标为缺省值 CW_USEDEFAULT, CW_USEDEFAULT,, //窗口的高和宽为缺省值 NULL, //此窗口无父窗口 NULL, //此窗口无主菜单 hInstance, //创建此窗口的应用程序的当前句柄 NULL ); //不使用该值 WinApp示例—仅创建一个窗口的App //--显示窗口 -------------- ShowWindow(hwnd, nCmdShow) ; //nCmdshow为窗口显示形式标识 //--更新并绘制用户区,并发出WM_PAINT消息----- Upda

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档