Картинки на кнопках

  • Автор темы Автор темы Nikitos
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
N

Nikitos

Помогите плиз создать кнопки с картинками (MFC)
То есть чтобы можно было задать картики для разных сосотояний кнопки (нажата, отжата и т.д.) с использованием ресурса кнопки.
 
Создаёшь кнопку нужного размера, на вкладке Styles в свойствах ставишь Icon. Создаёшь ресурс типа ICON. А потом в инициализации окна пишешь
Код:
HINSTANCE hInstRes = AfxGetResourceHandle();
int cxSmIcon = ::GetSystemMetrics(SM_CXSMICON);
int cySmIcon = ::GetSystemMetrics(SM_CYSMICON);
HANDLE hSmIcon = ::LoadImage(hInstRes, MAKEINTRESOURCE(IDI_RUN), IMAGE_ICON, cxSmIcon, cySmIcon, 0);
m_runbutton.SetIcon((HICON) hSmIcon);
Где IDI_RUN - идентификатор иконки из ресурсов, m_runbutton - переменная типа CButton, связанная с кнопкой.
Чтоб изменить иконку, пишешь соответственно
Код:
hSmIcon = ::LoadImage(hInstRes, MAKEINTRESOURCE(IDI_PAUSE), IMAGE_ICON, cxSmIcon, cySmIcon, 0);
m_runbutton.SetIcon((HICON) hSmIcon);
Где IDI_PAUSE - идентификатор другой иконки :)

А вот примерПосмотреть вложение buttonicon.zip
 
Спасибо, супер, но я хотел реализовать с помощью CBitmapButton
Насколько я знаю там создаются графические ресурсы "COPYU" и подгружаются с помощью метода CBitmapButton::AutoLoad()
Но выдает ошибку
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab