我应该在WinApi中哪里找到标准的消息框系统图标呢?我想要创建一个高级对话框(带有详细扩展)作为WinApi资源,但我想使用系统默认的图标,如下所示:
对于.NET,我知道可以在System.Drawing.SystemIcons
中找到它们,但是在本地C和WinApi中我该在哪里找到它们呢?我该如何应用它们?
对于.NET,我知道可以在System.Drawing.SystemIcons
中找到它们,但是在本地C和WinApi中我该在哪里找到它们呢?我该如何应用它们?
您可以使用LoadIcon
来获取它们。要获取问号图标,请使用LoadIcon(NULL, IDI_QUESTION)
,其他可用标识符包括 IDI_ERROR
、IDI_WARNING
和IDI_INFORMATION
。
没错,
如果有人需要我的代码来设置图标并播放相应的声音。
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);
}
希望这可以节省一些人的时间。:)