资源描述:
《windows程序设计初步》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows编程初步最简单的Windows程序intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){MessageBox(NULL,TEXT("地信2008级!"),TEXT("HelloMsg"),0);return0;}1.正如在C程序中的进入点是函数main一样,Windows程序的进入点是WinMain2.Windows程序中的变量名经常使用“匈牙利命名法”的命名系统,该
2、系统在变量名称前面增加了表示变量数据类型的短前缀.在这里仅需记住前缀i表示int,sz表示”以零结束的字符串”;PSTR作为指向字符串的指针3.MessageBox函数用于显示短信息4.MessageBox第一个参数表示句柄,第二个参数是在消息框主体中显示的字符串,第三个参数是出现在消息框标题列上的字符串.MessageBox的第四个参数是系统中定义的一组以前缀MB_开始的常数的组合.可以为MB_OK,MB_OKCANCELMB_ABORTRETRYIGNOREMB_YESNOCANCEL建立自己
3、的窗口在Windows中,窗口一词有确切的含义.一个窗口就是屏幕上的一个矩形区域,它接收使用者的输入并以文字或图形的格式显示输出内容建立一个窗口,需要三个步骤注册窗口类,使用RegisterClass(&wc);创建窗口,使用CreateWindow显示窗口,使用ShowWindow(hwnd,nCmdShow);和UpdateWindow(hwnd);窗口类typedefstruct_WNDCLASSA{UINTstyle;//窗口样式,一般设为0WNDPROClpfnWndProc;//指向窗
4、口函数的指针intcbClsExtra;intcbWndExtra;HINSTANCEhInstance;//定义应用程序实例HICONhIcon;//窗口的图标HCURSORhCursor;//窗口的光标HBRUSHhbrBackground;//窗口的背景颜色LPCSTRlpszMenuName;//窗口的菜单名LPCSTRlpszClassName;//窗口的类名}说明:1)一些新的数据类型,如UINT,其实就是typedef后,unsignedint的名称;2)句柄,在Windows中有很
5、多象窗口,按钮,图标等,需要标识它们,为了区别于普通对象,使用”句柄”这各名称,例如HINSTANCE当前应用程序句柄,HWND窗口句柄等如何注册窗口类WNDCLASSwndclass;wndclass.style=CS_HREDRAW
6、CS_VREDRAW;wndclass.lpfnWndProc=WndProc;//消息处理函数wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hI
7、con=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("T
8、hisprogramrequiresWindowsNT!"),szAppName,MB_ICONERROR);return0;}创建窗口hwnd=CreateWindow(szAppName,//窗口类别名,上一步结果TEXT(“TheHelloProgram”),//窗口标题WS_OVERLAPPEDWINDOW,//窗口风格,可改CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,//窗口菜单句柄hInstance
9、,//程序实例句柄NULL);说明:CreateWindow传回被建立的窗口的句柄,该句柄存放在变量hwnd中,后者被定义为HWND类型,句柄显示窗体在调用CreateWindow后,Windows内部已经建立了这个窗口.这就是说,Windows已经配置了一块内存,用来保存在CreateWindow调用中指定窗口的全部信息跟一些其它信息,而Windows稍后就是依据窗口句柄找到这些信息如果要显示窗体,还需要调用下面两个函数ShowWindow(hwnd,iCmdShow);Upda