第一个窗口程序
1. 每个GUI应用程序至少要创建一个窗口,成为主窗口,它作为用户与应用程序间的主界面来提供服务。
2. 程序的入口:
1) 程序实例:
int APIENTRY_tWinMain(HINSTANCE hInstance,//本模块实例句柄
HINSTANCE hPrevInstance,//没用
LPTSTR lpCmdLine,//命令行参数
int nCmdShow)//主窗口显示方式
2) 程序解释:
① GUI应用程序的入口函数WinMain,APIENTRY是_stdcall的宏定义,说明是采用标准的windows调用方式;
② 在win32下,模块的实例句柄和模块句柄是一致的。获得当前模块句柄的方法:
hInstance = (HINSTANCE)GetModuleHandle(NULL); 函数原型:(通过模块名称获得模块句柄)HMODULE WINAPI GetModuleHandle(__in LPCTSTR lpModuleName);
③ lpCmdLine 命令行参数,是CreateProcess的第二个参数指定。
④ nCmdShow主窗口初始化显示方式, 也由CreateProcess的参数决定;
3) MessageBox函数说明:
① 函数原型:
intMessageBox(
HWND hWnd, //窗口句柄,指定哪一个窗口将拥有要创建的消息框
LPCTSTR lpText,//将要显示的消息
LPCTSTR lpCaption,//对话框标题
UINT uType//指定对话框的内容和行为
);
② 第四个参数的取值:
一.为指定消息框中的按钮:MB_OK,MB_OKCANCEL,MB_ABORTRETRYIGNORE,MB_YESNOCANCEL,MB_YESNO,MB_RETRYCANCEL,
二.为在对话框中显示一个图标,MB_ICONHAND,MB_ICONQUESTION,MB_ICONEXCLAMATION,
三.指定默认的选中图标:MB_DEFBUTTON1,2,3,4
③ 函数的返回值:IDYES,IDNO,IDCANCEL,IDABORT,IDRETRY,IDIGNORE,
4) 2
3.