2011-09-07 1 views
4

어디에서 WinApi를 통해 messageboxes의 표준 시스템 아이콘을 찾을 수 있습니까? 나는 WINAPI 자원 등 (자세한 내용은-확장자) 고급 대화 상자를 만들려면,하지만 난 같은 시스템 기본 아이콘을 사용하려면 : .NET의 경우WinApi를 통해 메시지 상자의 표준 시스템 아이콘은 어디에서 찾을 수 있습니까?

Standard system icons

내가 System.Drawing.SystemIcons에서 찾을 수 있습니다 알고 ,하지만 C와 WinApi를 사용하여 어디에서 찾을 수 있습니까? 어떻게 적용 할 수 있습니까?

답변

9

LoadIcon을 사용하여 가져올 수 있어야합니다. 물음표 아이콘을 사용하려면 LoadIcon(NULL, IDI_QUESTION)을 사용하고 다른 식별자는 IDI_ERROR, IDI_WARNINGIDI_INFORMATION입니다. 올바른

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); 
} 

몇 분을 절약 할 수 있습니다. :)

+0

질문을 편집하시는 것이 좋습니다. – BlackBear

+1

이 질문과 답변에 대한 이해가 바뀔 수 있다고 생각합니다. 독립 실행 형 답변이 더 좋습니다. –