首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

C window讯息窗口

2012-09-04 
C window消息窗口C语言是大小写敏感,所有的字符串都要用TEXT包起来,避免出错TEXT是一个宏,当字符串中有中

C window消息窗口

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

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

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

int APIENTRY WinMain(HINSTANCE hInstance,                     HINSTANCE hPrevInstance,                     LPSTR     lpCmdLine,                     int       nCmdShow){ /* TODO: Place code here.*/MessageBox(NULL,TEXT("世界您好"),TEXT("标题"),MB_OK);return 0;}

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

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 ”组的数值进行或运算后能分别保留各自的部分,也就是在结果值中同时体现两组的取值。

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

#define MB_OK 0x00000000L#define MB_OKCANCEL 0x00000001L#define MB_ABORTRETRYIGNORE 0x00000002L#define MB_YESNOCANCEL 0x00000003L#define MB_YESNO 0x00000004L#define MB_RETRYCANCEL 0x00000005L

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

#define MB_ICONHAND 0x00000010L#define MB_ICONQUESTION 0x00000020L#define MB_ICONEXCLAMATION 0x00000030L#define MB_ICONASTERISK 0x00000040L

选择后的判定

int ret = MessageBox(NULL, TEXT("你是外星人吗?"), TEXT("火星人"),MB_YESNO | MB_ICONQUESTION);if(IDYES==ret){MessageBox(NULL, TEXT("火星人你好"), TEXT("问好"),MB_OK);}else{MessageBox(NULL, TEXT("欢迎回家来"), TEXT("问好"),MB_OK);}

?跟多参考win32Api

热点排行