MFC/WTL CImageButton поддерживает форматы BMP, GIF, JPEG, PNG, TIFF и поддерживает высокое разрешение (DPI).
CImageButton — это кнопка управления с поддержкой отображения графики в 4 состояниях:
Для каждого из этих состояний можно задать отдельное изображение. Поддерживаются прозрачные каналы в изображениях формата PNG.
#pragma once
#include "ImageButton.h"
// CMFCDemoDlg диалог
class CMFCDemoDlg : public CDialogEx
{
// ...
private:
CImageButton m_btnTest;
};
BOOL CMFCDemoDlg::OnInitDialog()
{
// ...
m_btnTest.SetImages(IDB_PNG1, IDB_PNG2, IDB_PNG3, IDB_PNG4, _T("PNG"));
m_btnTest.AutoSize();
//...
}
#pragma once
#include "ImageButton.h"
class CMainDlg : public CDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>, public CMessageFilter, public CIdleHandler
{
BEGIN_MSG_MAP(CMainDlg)
COMMAND_HANDLER(IDC_BUTTON_TEST, BN_CLICKED, OnBnClickedButtonTest) // событие кнопки
REFLECT_NOTIFICATIONS() // отражение сообщений WM_MEASUREITEM и WM_DRAWITEM
END_MSG_MAP()
//...
private:
CImageButton m_btnTest;
};
LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
// ...
m_btnTest.SubclassWindow(GetDlgItem(IDC_BUTTON_TEST));
m_btnTest.SetImages(IDB_PNG1, IDB_PNG2, IDB_PNG3, IDB_PNG4, _T("PNG"));
m_btnTest.AutoSize();
return TRUE;
}
LRESULT CMainDlg::OnBnClickedButtonTest(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
MessageBox(_T("Test"), _T(""), MB_OK | MB_ICONINFORMATION);
return 0;
}
IDB_PNG1, IDB_PNG2, IDB_PNG3 и IDB_PNG4 — это идентификаторы ресурсов. Для их импорта обратитесь к ресурсам Google или Baidu.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )