我在哪里可以通过WinApi找到消息框的标准系统图标?我想创建一个高级对话框(带有详细信息扩展名)作为WinApi资源,但我想使用系统默认图标,如:
对于.NET我知道我会在System.Drawing.SystemIcons
中找到它们,但是在哪里可以找到它们使用本机C和WinApi?我怎么能应用它们?
答案 0 :(得分:10)
您应该能够使用LoadIcon
获取它们。要使用LoadIcon(NULL, IDI_QUESTION)
获取问号图标,其他标识符为IDI_ERROR
,IDI_WARNING
和IDI_INFORMATION
。
答案 1 :(得分:2)
多数民众赞成正确,
如果有人需要我的代码来设置图标并播放相应的声音。
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);
}
愿它节省一些时间。 :)