开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1412|回复: 3
收起左侧

[图文教程] win32api窗口程序开发第二天--hello world续集

[复制链接]
结帖率:0% (0/2)
发表于 2020-1-16 08:25:14 | 显示全部楼层 |阅读模式   山东省烟台市

复习一下MessageBox的返回值int 型  感谢神一样的女人,项目组005 的帮助{:4_255:}提示
这个函数原型:  int MessageBox ( HWND hWnd, LPTSTR lpText, LPTSTR lpCaption, UINT uType )
        参数

hWnd
类型:HWND
拥有者窗口句柄,可以为NULL。非NULL时相对拥有者窗口句柄显示模态对话框。

lpText
类型:LPTSTR
对话框显示的消息。

lpCaption
类型:LPTSTR
对话框显示的标题。

uType
类型:UINT
宏名
宏值
意义
MB_ABORTRETRYIGNORE
0x00000002L
显示“中止”、“重试”、“忽略”三个按钮。
MB_CANCELTRYCONTINUE
0x00000006L
显示“取消”、“重试”、“继续”三个按钮。
MB_HELP
0x00004000L
显示帮助按钮,用户点击后系统发送WM_HELP到拥有者窗口。
MB_OK
0x00000000L
显示“确定”按钮,默认值。
MB_OKCANCEL
0x00000001L
显示“确定”、“取消”两个按钮。
MB_RETRYCANCEL
0x00000005L
显示“重试”、“取消”两个按钮。
MB_YESNO
0x00000004L
显示“是”、“否”两个按钮。
MB_YESNOCANCEL
0x00000003L
显示“是”、“否”、“取消”三个按钮。

需要在对话框显示的图标,以下表中任选其一:

宏名
宏值
意义
MB_ICONEXCLAMATION
0x00000030L
显示“警告”图标。
MB_ICONWARNING
0x00000030L
显示“警告”图标,同上。
MB_ICONINFORMATION
0x00000040L
显示“提示”图标。
MB_ICONASTERISK
0x00000040L
显示“提示”图标,同上。
MB_ICONQUESTION
0x00000020L
显示“疑问”图标。
MB_ICONSTOP
0x00000010L
显示“错误”图标。
MB_ICONERROR
0x00000010L
显示“错误”图标,同上。
MB_ICONHAND
0x00000010L
显示“错误”图标,同上。

图标效果如下:

效果
MB_ICONHAND 、 MB_ICONSTOP 或 MB_ICONERROR
MB_ICONQUESTION
MB_ICONEXCLAMATION 或 MB_ICONWARNING
MB_ICONASTERISK 或 MB_ICONINFORMATION

默认按钮,按钮顺序从左到右,以下表中任选其一:

宏名
宏值
意义
MB_DEFBUTTON1
0x00000000L
第一个按钮是默认按钮,默认值。
MB_DEFBUTTON2
0x00000100L
第二个按钮是默认按钮。
MB_DEFBUTTON3
0x00000200L
第三个按钮是默认按钮。
MB_DEFBUTTON4
0x00000300L
第四个按钮是默认按钮。

指示对话框的模态属性,以下表中任选其一:

宏名
宏值
意义
MB_APPLMODAL
0x00000000L
挂起hWnd指定的窗口,直到对话框退出,默认值。
MB_SYSTEMMODAL
0x00001000L
挂起所有窗口,直接对话框返回。
MB_TASKMODAL
0x00002000L
当hWnd为NULL,时挂起本线程所有窗口,直接对话框返回。

显示属性,以下值可以多选:

宏名
宏值
意义
MB_DEFAULT_DESKTOP_ONLY
0x00020000L
如果当前输入桌面不是默认桌面对话框直到把桌面转换为当前桌面才会返回。
MB_RIGHT
0x00080000L
文本右对齐。
MB_RTLREADING
0x00100000L
以右到左方式阅读。
MB_SETFOREGROUND
0x00010000L
指定对话框窗口作为前景窗口,系统后台会调用SetForegroundWindow。
MB_TOPMOST
0x00040000L
对话框最前端显示,相当于窗口所有WS_EX_TOPMOST属性。
MB_SERVICE_NOTIFICATION
0x00200000L
调用者是服务,将在激活桌面显示对话框,无论用户是否登录。




返回值类型:int指示用户选择了哪个按钮,可能的值列表如下:
宏名
宏值
意义
IDABORT
3
选中了“中止”按钮
IDCANCEL
2
选中了“取消”按钮
IDCONTINUE
11
选中了“继续”按钮
IDIGNORE
5
选中了“忽略”按钮
IDNO
7
选中了“否”按钮
IDOK
1
选中了“确定”按钮
IDRETRY
4
选中了“重试”按钮
IDTRYAGAIN
10
选中了“再试一次”按钮
IDYES
6
选中了“重试”按钮



备注窗口显示内容根据语言、系统等情况有所不同。

支持
最低桌面系统支持
Windows 2000 Professional
头文件
Winuser.h (已包含在Windows.h中)
User32.lib
DLL
User32.dll
UNICODE版本名
MessageBoxW
ANSI版本名
MessageBoxA




#include <windows.h>

int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
        int i = MessageBox(NULL,TEXT("hello"),TEXT("标题:"),MB_YESNOCANCEL | MB_ICONQUESTION|MB_TOPMOST);

        switch(i)
        {
                case IDYES:
                MessageBox(NULL,TEXT("yes"),TEXT("标题:"),NULL);
                    break;
                case IDNO:
                        MessageBox(NULL,TEXT("no"),TEXT("标题:"),NULL);
                default:
                        break;
        }

        return 0;
}

mig.rar (177.43 KB, 下载次数: 4)

点评

MessageBox(NULL,TEXT("no"),TEXT("温馨提示:"),MB_RTLREADING );//以右到左方式阅读。最后一个参数最好不要NULL,警告   山东省烟台市  发表于 2020-10-12 10:34
结帖率:0% (0/2)
 楼主| 发表于 2020-1-16 09:11:33 | 显示全部楼层   山东省烟台市
哈哈,我只是没事闲的蛋疼
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-1-16 08:29:46 | 显示全部楼层   江西省九江市
好东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表