C window消息窗口

简介:

C语言是大小写敏感,所有的字符串都要用TEXT包起来,避免出错

TEXT是一个宏,当字符串中有中文的时候最好用TEXT来包围这个字符串,虽然不使用TEXT在VC6中没问题,但是在VC7中有问题,而且微软也建议使用TEXT宏,因此在涉及到中文的场合要使用它。他的作用就是把中文转化成不会乱码的格式。(暂时这么认为)。_T("问好"),其实_T只是TEXT的一个缩写而已。而且_T在有的低版本里不识别。TEXT()低版本也识别。暂时不用关心TEXT的细节

【文件】→【新建】,打开【工程】选项页,选择【Win32 Application】,下一步【一个简单的Windows程序】

Java代码   收藏代码
  1. int APIENTRY WinMain(HINSTANCE hInstance,  
  2.                      HINSTANCE hPrevInstance,  
  3.                      LPSTR     lpCmdLine,  
  4.                      int       nCmdShow)  
  5. {  
  6.     /* TODO: Place code here.*/  
  7.     MessageBox(NULL,TEXT("世界您好"),TEXT("标题"),MB_OK);  
  8.     return 0;  
  9. }  

可是如果我想显示“确定、取消”按钮的时候同时使用问号图标呢?

Java代码   收藏代码
  1. MessageBox(NULL, TEXT("世界你好"), TEXT("你好"), MB_OKCANCEL|MB_ICONQUESTION);  

“ | ”是什么意思?“ | ”是位运算里的“或”运算,只有对应的两个二进位有一位为 1 时,结果位才为 1 ,否则为 0 。 MB_OK、MB_OKCANCEL等的低四位不同,但是高位永远为0; MB_ICONHAND 、 MB_ICONQUESTION 等的低 5 至第 8 位不同,而其他位永远为 0 。这样“ MB_OK、MB_OKCANCEL ”组的数值与“ MB_ICONHAND 、 MB_ICONQUESTION ”组的数值进行或运算后能分别保留各自的部分,也就是在结果值中同时体现两组的取值。

可设置希望在对话框中显示的按钮:

Java代码   收藏代码
  1. #define MB_OK 0x00000000L  
  2. #define MB_OKCANCEL 0x00000001L  
  3. #define MB_ABORTRETRYIGNORE 0x00000002L  
  4. #define MB_YESNOCANCEL 0x00000003L  
  5. #define MB_YESNO 0x00000004L  
  6. #define MB_RETRYCANCEL 0x00000005L  

也可以设置对话框中显示的图标:

Java代码   收藏代码
  1. #define MB_ICONHAND 0x00000010L  
  2. #define MB_ICONQUESTION 0x00000020L  
  3. #define MB_ICONEXCLAMATION 0x00000030L  
  4. #define MB_ICONASTERISK 0x00000040L  

选择后的判定

Java代码   收藏代码
  1. int ret = MessageBox(NULL, TEXT("你是外星人吗?"), TEXT("火星人"),MB_YESNO | MB_ICONQUESTION);  
  2. if(IDYES==ret){  
  3.     MessageBox(NULL, TEXT("火星人你好"), TEXT("问好"),MB_OK);  
  4. }  
  5. else{  
  6.     MessageBox(NULL, TEXT("欢迎回家来"), TEXT("问好"),MB_OK);  
  7. }  

 跟多参考win32Api

相关文章
|
消息中间件 安全 API
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
SendMessage/PostMessage API 可以实现发送系统消息,这些消息可以定义为常见的鼠标或键盘事件、数据的发送等各种系统操作......
3702 1
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
|
6月前
45EasyUI 窗口- 创建简单窗口
45EasyUI 窗口- 创建简单窗口
23 0
|
10月前
|
存储 安全 Windows
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
|
C++
201403-2 窗口
201403-2 窗口
64 0
201403-2 窗口
|
Windows
Windows程序设计——窗口键盘消息滚动事件
Windows程序设计——窗口键盘消息滚动事件
237 0
|
SQL 测试技术 流计算
基于Dialog程序,启动时不显示主窗口,只显示子窗口的实现
实现主窗口隐藏的是SetWindowPos(),从代码很容易理解出来,就是把主窗口的坐标设置为(0,0,0,0),也就是说把主窗口设置为一个点,并且点处于原点处.
1255 0