Как вы помните, элементов управления MFC всего три. Давайте посмотрим как их использовать на основе класса CBitmapButton.
Создаем приложение на базе диалогового окна с именем TestButton. Добавляем переменную класса к классу диалога.
class CTestButtonDlg : public CDialog { ...... //}}AFX_VIRTUAL CBitmapButton cb; // Implementation protected: ...... };
Создаем идентификатор элемента в файле ресурсов:
//{{NO_DEPENDENCIES}} // Microsoft Developer Studio generated include file. // Used by TestButton.rc // ...... #define IDS_ABOUTBOX 101 #define ID_ACTIVE 103 #define IDD_TESTBUTTON_DIALOG 102 ......
Создаем элемент управления в функции OnInitDialog() класса диалога.
BOOL CTestButtonDlg::OnInitDialog() { ...... SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon cb.Create("",BS_OWNERDRAW|WS_VISIBLE,CRect(0,0,50,50),this,ID_ACTIVE ); return TRUE; // return TRUE unless you set the focus to a control }
Указать картинку для кнопки:
BOOL CTestButtonDlg::OnInitDialog() { ...... cb.Create("",BS_OWNERDRAW|WS_VISIBLE,CRect(0,0,50,50),this,ID_ACTIVE ); cb.LoadBitmaps(IDB_BITMAP1); return TRUE; // return TRUE unless you set the focus to a control }
Картинку можно просто создать в ресурсах Insert - Bitmap. Я ее создал. А вот результат работы приложения: