第一天课程--从实践中学习

 

程序清单1.1 一个简化的 C++ Windows 程序

// Program LaoTzu.cpp #include<windows.h>
// Some programs to surpress unneeded warnings #pragma warning (disable:4068) #pragma argsused
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance, LPSTR lpszCmdParam,int nCmdShow) { MessageBox(0,"He who is ruled by mem lives in sorrow.", "He who rules mem lives in confusion.", MB_OK|MB_ICONINFORMATION); return 0; }
语法
MessageBox 函数

int MessageBox(HWND,LPCSTR,LPCSTR,UINT);

MessageBox 函数用来创建一个窗口,它有四个参数:
  第一个参数 HWND 是程序主窗口句柄。在程序清单 1.1 中,这个参数设置为0,因为 LaoTzu 程序没有主窗口.
  第二个参数 LPCSTR 是一个指向字符串常量的长指针,该字符串是你希望显示在消息框中的正文,是消息框的主要部分。
  第三个参数 LPCSTR 也是一个指向字符串常量的远指针,该字符串作为消息框的标题。
  第四个参数 UINT 包括一个或多个下列标志:
  • // Buttons
    // -----------------------
    #define MB_OK                   0x0000  包括 okay 按钮
    #define MB_OKCANCEL             0x0001  包括 okay cancel 按钮
    #define MB_ABORTRETRYIGNORE     0x0002  Abort,Retry,Ignore
    #define MB_YESNOCANCEL          0x0003  Yes No Cancel 按钮
    #define MB_YESNO                0x0004  Yes No 按钮
    #define MB_RETRYCANCEL          0x0005  Retry,Cancel 按钮
    // Icons #define MB_ICONHAND 0x0010 STOP图标 #define MB_ICONQUESTION 0x0020 问题标志图标 #define MB_ICONEXCLAMATION 0x0030 惊叹号标志图标 #define MB_ICONASTERISK 0x0040 星号图标 #define MB_ICONINFORMATION MB_ICONASTERISK #define MB_ICONSTOP MB_ICONHAND
    // Scope and focus issues #define MB_APPLMODAL 0x0000 #define MB_SYSTEMODAL 0x0001 #define MB_TASKMODAL 0x0002
    // Default button specification MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3
    // WIN32 MB_SETFOREGROUND MB_DEFAULT_DESKTOP_ONLY
  如果你希望同时使用多个标志,应该象程序清单 1.1 中例子那样用“或”运算符将它们连接在一起。如果要看一下它们是如何工作的,不妨试着把 MB_ICONINFORMATION 改为 MB_ICONINFORMATION。
  MessageBox 函数返回一个整数值用来指示当 MessageBox 出现在屏幕上时用户选择了哪个按钮。例如,如果用户按下OK 钮,函数将返回 IDOK。如果用户按下 CANCEL 钮,函数将返回 IDCANCEL。下面列出函数的可能返回值:
 
 
  • IDABORT:        用户选择 Abort 按钮;
    IDCANCEL:       用户选择 Cancel 按钮;
    IDIGNORE:       用户选择 Ignore 按钮;
    IDNO:           用户选择 No 按钮;
    IDRETRY:        用户选择 Retry 按钮;
    IDYES:          用户选择 Yes 按钮;
  下面是一个使用该函数的例子:
  MessageBox(0,"The astrolabe of the mysteries of God is love",
    "Jalal-uddin Rumi said:",MB_OK|MB_ICONEXCLAMATION);
WinMain 函数 下面是 Microsoft 中对 WinMain 的说明: int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInstance,   LPSTR lpszCmdParam,int nCmdShow)   WinMain 函数有四个参数:
  ⒈参数是一个唯一的数值或句柄。它与当前程序相关。现在你可以把 HINSTANCE 看作是整型的。不过以后你会看到 HINSTANCE 类型要比初看之时复杂一些。
  ⒉参数只对 16 位 Windows 是重要的。它是与这个程序的另一个实例相连的唯一句柄(如果存在另一个实例的话)。例如,如果启动了 CLOCK.EXE 的两个副本,这个程序的第二个副本就将第一个副本的 HINSTANCE 作为第二参数。如果程序不存在前一实例,这个参数就置为
NULL。在win32环境下,这个参数不再起作用。
  ⒊参数是一个字符串,它包含了传给程序的任何参数。这个参数的类型 LPSTR 是 Windows 中一种提法,表示一个指向字符串的 32 位指针。
  ⒋参数指明程序的窗口该如何显示,最大化或者最小化,参数值由程序的调用者指定。
  WinMain 函数返回一个整数,不过 Windows 对这个返回值从来也不做检查。也就是说,当 WinMain 函数结束时,你的应用程序也就结束了。指定返回值主要是为了帮助调试,或者是为了使程序更易阅读。所以,无论 WinMain 返回值为 TRUE 还是 FALSE 都没有什么实际意义。
      API 是一组例程,既可以用来控制整个计算机,也可以用来控制计算机的某个特定的功能,例如调制解调器、显示卡或鼠标。例如,你有一组三个例程用来提供程序与鼠标的接口。我把这三个例程叫做 InintializeMouse,SetNousePosition 和 GetMousePosition.
 
 
 
Created by skyline         --- 原著:Charles Calvert (美) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值