2009-03-11 7 views
2

C++로 버튼을 그리는 방법을 알고 있지만 어떻게하면 아이콘을 만들어 소스를 게시하거나 참조 할 수 있습니까? sendMessage 첨부() 또는로 불과 에 많은 파일이 당신이 MFC를 사용하는 경우, 나는 다음과 같은 CButton 방법 SetIcon 사용하도록 추천 할 것입니다C++에서 아이콘 버튼을 만드는 방법

+0

사용중인 GUI API를 지정하십시오 때 BS_BITMAP 플래그를 사용해야합니다. Win32? MFC? Qt? Win32는 SendMessage 주석에서 가정합니다. 그러나 명확히하십시오. –

+0

나는 당신이 받아 들인 대답에서 MFC를 사용하고 있다고 가정 할 수 있다고 생각한다 :-) 감사하다는 말을하는 것이 좋을 것이다. –

+0

길을 따라 구두점을 잃어 버렸습니까? – TechNyquist

답변

2

조금 새로운 메신저 그렇게하지 않고 쉽게 anwsers이 필요하세요 붙여주십시오하지 그런 식으로하는 경우 :

CButton myButton; 

// Create an icon button. 
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_ICON, 
    CRect(10,10,60,50), pParentWnd, 1); 

// Set the icon of the button to be the system question mark icon. 
myButton.SetIcon(::LoadIcon(NULL, IDI_QUESTION)); 
에게

아주 잘 작동합니다.

6

새로운 기능이므로 MSDN Library를 참조하십시오. Button Styles (특히 BS ICON 및 BS BITMAP 스타일 참조) 및 BM_SETIMAGE message에 대한 정보를 찾을 수 있습니다.

1

은 BM_SETIMAGE 메시지를 보내고로드 된 이미지 핸들을 lParam에 전달합니다.

button1 = CreateWindowW(L"BUTTON", L"&Button", WS_VISIBLE | WS_CHILD | WS_TABSTOP | BS_BITMAP, 20, 50, 80, 25, hwnd, (HMENU) 600, NULL, NULL); 

hImg = LoadImageW(NULL, L"test123.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE | LR_LOADFROMFILE); 
SendMessageW(button1, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hImg); 

P.S : 당신은 CreateWindow 함수는()

관련 문제