MessageBox()右上方关闭按钮是否有返回值,如果有是什么,和取消一样吗?
以下是一段小程序,如何让它按确定重复出现对话框,按关闭按钮关闭对话框#include<windows.h>intWINAPIWinMain(HINSTANCEhInsta...
以下是一段小程序,如何让它按确定重复出现对话框,按关闭按钮关闭对话框
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR szCmdLine, int iCmdShow)
{
while(MessageBox(NULL,TEXT("Hello,Windows XP!"),TEXT("HelloMsg"),MB_OK)==IDOK)
;
return 0;
}
我这代码运行出来不管按确定还是关闭都是循环出现,不知道为什么 展开
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR szCmdLine, int iCmdShow)
{
while(MessageBox(NULL,TEXT("Hello,Windows XP!"),TEXT("HelloMsg"),MB_OK)==IDOK)
;
return 0;
}
我这代码运行出来不管按确定还是关闭都是循环出现,不知道为什么 展开
4个回答
展开全部
MSDN上找到解释了:
If a message box has a Cancel button, the function returns the IDCANCEL value if either the esc key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing esc has no effect.
如果有取消按钮,返回IDCANCEL 如果没有取消按钮,按关闭 没有效果
Value Meaning
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDYES Yes button was selected.
If a message box has a Cancel button, the function returns the IDCANCEL value if either the esc key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing esc has no effect.
如果有取消按钮,返回IDCANCEL 如果没有取消按钮,按关闭 没有效果
Value Meaning
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDYES Yes button was selected.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二楼说的对。如果是 按 确定按钮,那么返回 ID_OK。如果是 关闭的话,返回NULL. 一楼的众多ID是按钮 确定 取消 …… 这些按钮的返回消息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
经过测试,点关闭返回值等于ID最小按钮的ID值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个代码就是对的啊。确定键返回的是IDOK,而X键返回的就是NULL,你这个代码应该就是符合你的要求的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询