我在哪里可以通过 WinApi 找到消息框的标准系统图标?

发布于 2024-12-03 05:56:41 字数 245 浏览 3 评论 0原文

我在哪里可以通过 WinApi 找到消息框的标准系统图标?我想创建一个高级对话框(带有详细信息扩展)作为 WinApi 资源,但我想使用系统默认图标,例如:

标准系统图标

对于 .NET,我知道我会在 System.Drawing.SystemIcons 中找到它们,但是使用本机 C 和 WinApi 在哪里可以找到它们?我该如何应用它们?

Where do i find standard system icons of messageboxes via WinApi? I want to create an advanced dialogbox (with details-extension) as WinApi resource, but I want to use the system default icons like:

Standard system icons

For .NET I know that i'll find them in System.Drawing.SystemIcons, but where do I find them using native C and WinApi? And how could I apply them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

﹏雨一样淡蓝的深情 2024-12-10 05:56:41

您应该能够使用 LoadIcon 获取它们。要获取问号图标,请使用 LoadIcon(NULL, IDI_QUESTION),其他标识符为 IDI_ERRORIDI_WARNINGIDI_INFORMATION >。

You should be able to get them using LoadIcon. To get the question mark icon use LoadIcon(NULL, IDI_QUESTION), the other identifiers are IDI_ERROR, IDI_WARNING and IDI_INFORMATION.

守不住的情 2024-12-10 05:56:41

是的,

如果有人需要我的代码来设置图标并播放相应的声音。

HICON hIcon = NULL;
if(mbdIcon == MBD_ICON_INFORMATION) {
    hIcon = LoadIcon(NULL, IDI_INFORMATION);
    MessageBeep(MB_ICONASTERISK);
} else if(mbdIcon == MBD_ICON_QUESTION) {
    hIcon = LoadIcon(NULL, IDI_QUESTION);
    MessageBeep(MB_ICONQUESTION);
} else if(mbdIcon == MBD_ICON_WARNING) {
    hIcon = LoadIcon(NULL, IDI_WARNING);
    MessageBeep(MB_ICONWARNING);
} else if(mbdIcon == MBD_ICON_ERROR) {
    hIcon = LoadIcon(NULL, IDI_ERROR);
    MessageBeep(MB_ICONERROR);
} else {
    ShowWindow(hPictureIcon, SW_HIDE);
}
if(hIcon != NULL)
{
    Static_SetIcon(hPictureIcon, hIcon);
}

愿它可以为某人节省几分钟。 :)

Thats correct,

If someone needs here my code to set the icon and also to play the corresponding sound.

HICON hIcon = NULL;
if(mbdIcon == MBD_ICON_INFORMATION) {
    hIcon = LoadIcon(NULL, IDI_INFORMATION);
    MessageBeep(MB_ICONASTERISK);
} else if(mbdIcon == MBD_ICON_QUESTION) {
    hIcon = LoadIcon(NULL, IDI_QUESTION);
    MessageBeep(MB_ICONQUESTION);
} else if(mbdIcon == MBD_ICON_WARNING) {
    hIcon = LoadIcon(NULL, IDI_WARNING);
    MessageBeep(MB_ICONWARNING);
} else if(mbdIcon == MBD_ICON_ERROR) {
    hIcon = LoadIcon(NULL, IDI_ERROR);
    MessageBeep(MB_ICONERROR);
} else {
    ShowWindow(hPictureIcon, SW_HIDE);
}
if(hIcon != NULL)
{
    Static_SetIcon(hPictureIcon, hIcon);
}

May it saves someone some minutes. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文