Как настроить кнопки?

Я новичок в MFC, как мне настроить кнопки таким образом, чтобы

  1. Он должен быть окрашен в фоновом режиме.
  2. Должна быть возможность разместить изображение на окрашенной области и
  3. Следует добавить текст на окрашенную область.

После просмотра Интернета я узнал, что нам нужно переопределить метод DrawItem, как только кнопка будет создана в стиле BS_OWNERDRAW. Как я могу переопределить метод DrawItem?

(приложение MFC с использованием SDI)


person Yateesh K R    schedule 09.09.2015    source источник
comment
Вы переопределяете DrawItem так же, как переопределяете любой другой член класса в C++. Я не уверен, что это тот вопрос, который вы хотели задать.   -  person IInspectable    schedule 10.09.2015


Ответы (1)


В глобальной переменной:

CButton button;

В DoDataExchange:

DDX_Control(pDX, IDC_BUTTON, button);

где IDC_button объявлен в вашем диалоговом ресурсе, а pDX — ваш CDataExchange

Где вы хотите добавить изображение:

button.SetBitmap((HBITMAP)LoadImage(AfxGetApp()->m_hInstance,
        MAKEINTRESOURCE(IDB_BITMAP1),
        IMAGE_BITMAP, 16, 16, LR_COLOR));

где m_hInstance — ваш CWinApp, IDB_BITMAP1 — картинка ресурса.

Для текста:

  button.SetWindowTextW(_T("TEXT"));
person Seth Kitchen    schedule 09.09.2015
comment
Перед добавлением изображения/текста фон должен быть окрашен одним сплошным цветом. Как я могу это сделать ? - person Yateesh K R; 10.09.2015
comment
нет, это для приложения на основе dlg, я прошу SDI - person Yateesh K R; 10.09.2015