资源描述:
《2016新编windows程序设计入门教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows程序设计入门教程前骤:1.第一个windows程序:先讲几个专有名词:HINSTANCE由handle(句柄)和instance(实例)句柄,类似于C中的指针,指向资源,是资源的标识。操作系统要管理和操作这些资源,都是通过句柄(HANDLE)来找到对应的资源。按资源的类型可以分为:窗口句柄——HWND实例句柄——HINSTANCE图标句柄——HICON光标句柄——HCURSOR画刷句柄——HBRUSH设备内容句柄——HDC下面是一个简单的windows程序。[Copytoclipboard]CODE:#in
2、cludeintWINAPIWinMain (HINSTANCEhInstance, HINSTANCEhPrevInstance,LPSTRszCmdLine,intiCmdShow){MessageBox(NULL,TEXT("Hello,Windows98!"),TEXT("HelloMsg"),0);return0;}WinMain的原函数intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,inti
3、CmdShow)这个函数照着原函数写就行。MessageBox的原函数:MessageBox(HWNDhWnd,LPCTSTRlpText,LPCTSTRlpCaption,UINTuType)参数解释: hWnd:为窗口句柄,h代指handle[句柄] lpText:要显示的消息, lp代指longpoint[长指针] lpCaption:消息框的标题 uType:消息框的按扭的样式其中lpText和lpCaption的内容可以用TEXT(“…………”)或直接用(“…………”)编写自己的窗口:#include
4、一:主函数——程序的入口点intWINAPIWinMain( ){① 设计窗口类:WNDCLASS wndclass; wndclass.style=CS_HREDRAW
5、CS_VREDRAW; . …… 十个字段…… …… wndclass.lpszClassName=”Lei”;② 注册窗口类:RegisterClass(&wndclass);③
6、 创建窗口:HWND hwnd;hwnd=CreateWindow();④ 显示及更新窗口:ShowWindow();UpdateWindow();⑤ 消息循环:MSGmsg;While(GetMessage(&msg,NULL,0,0)){TranlateMessage(&msg);DispatchMessage(&msg)}returnmsg.wParam;}二:消息处理函数——操作系统调用LRESULTCALLBACKWndProc( ){PAINTS
7、TRUCTps; HDChdc; RECTrect; switch(message){caseWM_PAINT: ……return0;caseWM_DESTORY: ……return0;}returnDefWindowProc();}上面只是给出了一个窗口程序的模板块,也就是说一个窗口程序主要由这些组成。由上面我们知,要编出一个窗口程序,就要经过设计窗口类、注册窗口类、创建窗口、显示及更新窗口。再通过系统调用WndProc函数(消息处理函数)来使程序不断运行以及使程序停止。下面我们一个一个完成这些模块。
8、第零大块:程序入口点WinMain函数。照写。第一大块:设计窗口类:窗口依照某一窗口类别建立,窗口类别用以标识处理窗口消息的窗口消息处理程序。先定义wndclass结构。接着初始化这结构的10个字段。。WNDCLASS wndclass;wndclass.style=CS_HREDRAW
9、CS_VREDRAW; //定义窗口类的样式//CS为CLASS和STYLE的第一个字母的缩写wndclass.lpfnWndProc=WndProc; //lpfn代指:指
10、向函数的长指针,//fn为function的缩写。//WndProc就是消息处理函数,这个函数名可以改,但一定要跟下文定义的函数名一样,不过,没必要改。这个函数通过系统调用,但代码必需我们写。wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;//这两个字段用于在窗口类别结构和Wi