目录:
1.Hello World!例子
2.分析Hello World!
头文件
程序进入点
MessageBox函数
1.Hello World!例子
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello world!"), TEXT ("HelloMsg"), 0|1);
return 0 ;
}
运行该出现,将会出现一个写着Hello World!的标题为HelloMsg的消息框,有两个按钮:确定和取消。
2.分析
头文件:
#include <windows.h>
windows.h是主要的含入文件,它包含了其它Windows表头文件,这些表头文件的某些也包含了其它表头文件。这些表头文件中最重要的和最基本的是
1.WINDEF.H 基本型态定义;
2.WINNT.H 支持Unicode的型态定义;
3.WINBASE.H Kernel函数;
4.WINUSER.H 使用者接口函数;
5.WINGDI.H 图形设备接口函数.
这些表头文件定义了Windows的所有数据型态、函数呼叫、数据结构和常数标识符,它们是Windows文件中的一个重要部分。使用Visual C++ Developer Studio的Edit菜单中的Find in Files搜索这些表头文件非常方便。您还可以在Developer Studio中打开这些表头文件并直接阅读它们。
程序进入点:
正如在C程序中的进入点是函数main一样,Windows程序的进入点是WinMain:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
许多Windows程序中的变量名使用一种称作「匈牙利表示法」的命名系统,该系统在变量名称前面增加了表示变量数据型态的短前缀,前缀i表示int、sz表示「以零结束的字符串」。
WinMain函数声明为返回一个int值。WINAPI标识符在WINDEF.H定义,语句如下:
该语句指定了一个呼叫约定,包括如何生产机械码以在堆栈中放置函数呼叫的参数。许多Windows函数呼叫声明为WINAPI。
WinMain参数介绍:
1.WinMain的第一个参数被称作「执行实体句柄」。在Windows程序设计中,句柄仅是一个应用程序用来识别某些东西的数字。在这种情况下,该句柄唯一地标识该程序,还需要它在其它Windows函数呼叫中作为参数。
2.传给WinMain的第二个参数总是NULL。
3.WinMain的第三个参数是用于执行程序的命令列。某些Windows应用程序利用它在程序启动时将文件加载内存。
4.WinMain的第四个参数指出程序最初显示的方式,可以是正常的或者是最大化地充满整个画面,或者是最小化显示在工作列中。
MessageBox函数:
MessageBox函数用于显示短信息。虽然,MessageBox显示的小窗口不具有什么功能,实际上它被认为是一个对话框。
MessageBox参数介绍:
1.MessageBox的第一个参数通常是窗口句柄;
2.第二个参数是在消息框主体中显示的字符串;
3.第三个参数是出现在消息框标题列上的字符串;
在HELLMSG.C中,这些文字字符串的每一个都被封装在一个TEXT宏中。通常您不必将所有字符串都封装在TEXT宏中,但如果想将您的程序转换为Unicode字符集,这确是一个好主意。
4.MessageBox的第四个参数可以是在WINUSER.H中定义的一组以前缀MB_开始的常数的组合。您可从第一组中选择一个常数指出希望在对话框中显示的按钮:
如果在HELLOMSG中将第四个参数设置为0,则仅显示「OK」按钮。可以使用C语言的OR(|)操作符号将上面显示的一个常数与代表内定按钮的常数组合。
还可以使用一个常数指出消息框中图示的外观:
这些图示中的某些有替代名称:
在本程序中,MessageBox返回数值1,但更严格地说它返回IDOK,IDOK在WINUSER.H中定义,等于1。根据在消息框中显示的其它按钮,MessageBox函数还可返回IDYES、IDNO、IDCANCEL、IDABORT、 IDRETRY或IDIGNORE。