Как сделать иконку кнопки в C ++ - PullRequest
2 голосов
/ 11 марта 2009

Я знаю, как нарисовать кнопку в C ++, но как мне сделать иконку на ней, может кто-нибудь опубликовать источник или дать ссылку, пожалуйста? по SendMessage () или, если нет, просто вставьте Пожалуйста, нужны более легкие anwsers без большого количества файлов, я немного новенький

Ответы [ 3 ]

6 голосов
/ 11 марта 2009

Поскольку вы новичок, вы можете также обратиться к библиотеке MSDN. Вы можете найти информацию о стилях кнопок (см., В частности, о стилях BS ICON и BS BITMAP) и сообщении BM_SETIMAGE .

2 голосов
/ 11 марта 2009

Если вы используете MFC, я бы порекомендовал вам использовать следующий CButton метод SetIcon:

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

Это работает очень хорошо.

1 голос
/ 16 января 2014

отправьте сообщение 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: вам нужно использовать флаг BS_BITMAP, когда CreateWindow ()

...