2015-09-09 4 views
0

Я новичок в MFC, Как я могу настроить кнопки таким образом, чтоКак настроить мои кнопки?

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

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

(MFC приложение, использующее SDI,)

+0

перенастройка 'DrawItem' таким же образом вы переопределить любой другой член класса в C++. Я не уверен, это вопрос, который вы хотели спросить. – IInspectable

ответ

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")); 
+0

Перед тем, как добавить изображение/текст, фон должен быть окрашен в сплошные цвета. Как я могу это сделать ? –

+1

Это вы что искали? https://support.microsoft.com/en-us/kb/117778 –

+0

нет, это для приложения на основе dlg, я прошу SDI –

Смежные вопросы