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

相关文章
|
SQL 分布式计算 Oracle
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
监控 Java Shell
监控堆外第三方监控工具Zabbix
监控堆外第三方监控工具Zabbix
310 5
Java系列之 IDEA 为类 和 方法设置注解模板
这篇文章介绍了如何在IntelliJ IDEA中为类和方法设置注解模板,包括类模板的创建和应用,以及两种不同的方法注解模板的创建过程和实际效果展示,旨在提高代码的可读性和维护性。
|
存储 小程序 API
支付宝小程序:揭秘如何以低成本撬动商业价值的杠杆
【8月更文挑战第27天】支付宝小程序是阿里巴巴打造的一款轻量级应用平台,它降低了开发成本和技术门槛,简化了开发流程。用户无需下载安装即可享受快捷服务,提升了用户体验。依托支付宝庞大的用户基础,小程序能迅速触及潜在用户,降低推广成本。它不仅支持基本功能,还能无缝集成支付宝的核心服务如支付、信用等,在电商、金融等多个领域展现出独特优势。尽管存在功能限制等问题,但支付宝小程序已成为实现商业价值的重要工具。
346 1
|
存储 算法 物联网
加密/解密(对比)
加密/解密(对比)
|
Kubernetes jenkins 持续交付
在K8S中,Jenkins如何集成K8S集群?
在K8S中,Jenkins如何集成K8S集群?
|
存储 开发框架 算法
【自己动手画CPU】控制器设计(二)
作者深入探讨了自制CPU的控制器设计,为自学者提供了宝贵的实践指导。文章详细介绍了控制器的设计原理与关键步骤,涵盖了寄存器的配置、指令的执行以及时序控制等方面内容。通过图文并茂的演示,读者可以清晰了解如何从零开始搭建一个基本的控制器,并使其能够执行简单的指令。作者以通俗易懂的方式呈现技术细节,使初学者能够轻松理解和模仿。
1497 0
【自己动手画CPU】控制器设计(二)
|
JavaScript 中间件 API
中间件使用异步函数
【5月更文挑战第16天】中间件使用异步函数
146 4
|
关系型数据库 MySQL 数据库
MySQL - 查看 / 修改配置参数(Global Variables)
MySQL - 查看 / 修改配置参数(Global Variables)
1264 0