gpt4 book ai didi

c++ - 具有 Windows 7 外观的消息框

转载 作者:可可西里 更新时间:2023-11-01 14:45:06 27 4
gpt4 key购买 nike

我提出了这篇关于自定义消息框设计的 MSDN 文章:

User Interface Text

原生消息框看起来像这样:

但是我的消息框看起来像这样:

这就是我想要的:

我正在使用 C++,这是我的代码(用于确认退出消息的代码):

int ccm()
{
int msgbox = MessageBox(
NULL,
(LPCWSTR)L"Do you really want to quit?",
(LPCWSTR)L"Music",
MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2
);

switch (msgbox)
{
case IDYES:
initdw();
break;
case IDNO:
adw();
break;
}

return msgbox;
}

我调用 ccm();当用户想要退出时我检测到它是这样的

case WM_CLOSE:
ccm();
return 0;

但我想要看起来像原始 Windows 样式的代码我不想设计自定义消息我想要 native 代码

最佳答案

您正在寻找的自定义类型可以通过使用 TaskDialog() 来实现或 TaskDialogIndirect() ,而不是 MessageBox()。它们是 Vista 和更高版本的 Windows 上的首选消息框功能,因为它们更灵活,并且更多地使用标准化的 Windows UI 元素以获得与其他 UI 更一致的外观。

例如:

TaskDialog(hMyWnd, hInstance, L"Music", L"You have the latest version of Music", NULL, TDCBF_OK_BUTTON, MAKEINTRESOURCE(MY_MUSIC_ICON_ID), NULL);

int iBtn = IDNO;
if (TaskDialog(hMyWnd, NULL, L"Music", L"Do you really want to quit?", NULL, TDCBF_YES_BUTTON | TDCBF_NO_BUTTON, NULL, &iBtn) == S_OK)
{
switch (iBtn)
{
case IDYES:
initdw();
break;
case IDNO:
adw();
break;
}
}

关于c++ - 具有 Windows 7 外观的消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686981/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com