• C++之messagebox


    messagebox

    用于显示一个模态对话框,包含了一个系统图标、一组按钮和一个简短的特定于应用程序消息、如状态或错误信息
    
    消息框中将返回一个整数值,该值指示了用户点击哪个按钮
    

    函数原型

    _In_说明参数是可以输入的
    _opt_说明参数是可选的
    
    int WINAPI MessageBox(
      _In_opt_  HWND hWnd,//hWnd该消息框的父窗口句柄 如果参数为NULL,则没有父窗口
      _In_opt_  LPCTSTR lpText,//消息框的内容
      _In_opt_  LPCTSTR lpCaption,//消息框的标题
      _In_      UINT uType//指定一个决定对话框的内容和行为的位标志集,参数可通过指定下列标志和标志的组合,来显示消息框中的按钮&图标
    );
    
    uType参数定义:
    MB_OK	默认值,有一个“确认”按钮在里面
    MB_YESNO	有“是”和“否”两个按钮在里面
    MB_ABORTRETRYIGNORE	有“中止”,“重试”和“跳过”三个按钮在里面
    MB_YESNOCANCEL	有“是”,“否”和“取消”三个按钮在里面
    MB_RETRYCANCEL	有“重试”和“取消”两个按钮在里面
    MB_OKCANCEL	有“确定”和“取消”两个按钮在里面
    
    更多参考
    https://fishc.com.cn/forum.php?mod=viewthread&tid=46730&extra=page%3D1%26filter%3Dtypeid%26typeid%3D420
    

    案例

    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    	MessageBox(NULL, TEXT("开始学习!"), TEXT("haha"), MB_OKCANCEL | MB_ICONQUESTION | MB_DEFBUTTON2);
    	return 0;
    }
    

    增设中止、重试、跳过功能

    uType定义如下MB_ABORTRETRYIGNORE包含中止、重试、跳过功能
    
    关于MB_OK | MB_ABORTRETRYIGNORE 中的|代表:进行宏定义
    关于TEXT代表:解决编码问题,如果一些字符是单字节,其他又是双字节,就会导致不一致,可从TEXT的定义中发现
    

    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    	MessageBox(NULL, TEXT("开始学习!"), TEXT("haha"), MB_OK | MB_ABORTRETRYIGNORE);
    	return 0;
    }
    

    增设确认功能

    #include <windows.h>
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {	
    	int choice;//用choice来确认选择的值
    	while(true){  //循环一直运行
    		choice=MessageBox(NULL, TEXT("开始学习!"), TEXT("haha"), MB_YESNO);
    		if (choice == IDYES) {		//如果选择的是yes
    			break;
    		}
    	}
    	return 0;
    }
    
    联系邮箱:yang_s1r@163.com 博客园地址:https://www.cnblogs.com/Yang34/
  • 相关阅读:
    Unity3D保护资源管理文件的AssetBundle包加密!
    untiy Kinect SDK 的默认BUG 修改方法
    Android 插件扩展系列之 封装与应用
    datagridview 单击单元格获取单元格的内容
    winform 显示动态图片 Gif
    Unity 漫游相机脚本
    Unity3D教程:c#脚本yield的用法
    Unity 脚本实现CoverFlow效果
    删除 treeview Node节点 循环删除子节点 存储过程
    Unity 怪物AI
  • 原文地址:https://www.cnblogs.com/Yang34/p/14391443.html
Copyright © 2020-2023  润新知