Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
#1

CBitmapButton - C++

29.06.2011, 10:44. Просмотров 633. Ответов 2
Метки нет (Все метки)

Решил для написания ГУЙ выбрать MFC, но мне не нравятся стандартные кнопки. Прочитал про CBitmapButton, создал картинки, и есть вопрос как при помощи AppWizard создать CBitmapButton?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
29.06.2011, 11:51 #2
хоть бы версию студии написал

Добавлено через 13 минут
в мастере классов, создаешь МФК класс, и в появившемся окошечке будет список МФК классов, а вообще тема не новоя
http://lmgtfy.com/?q=cbitmapbutton
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.06.2011, 14:25 #3
Открываешь конструктор диалога в MFC на форму перетаскиваешь кнопку обычную, в свойстве Properties выбери Styles -> Bitmap поставь галочку, далее открываешь исходный код и пишешь в инициализацию диалога такой код.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HBITMAP   bit_button = NULL;  // В конце при выходе из диалога не забудь удалить DeleteObject
HBITMAP   bits          = NULL;
BOOL CAtomDlg::OnInitDialog()
{
 
     // 1 - загрузка из ресурсов
    // IDB_BITMAP1 - это битовый рисунок загруженный в ресурсы
    bit_button = LoadBitmap((HINSTANCE)GetWindowLong(m_hWnd, GWL_HINSTANCE),              
                                        MAKEINTRESOURCE(IDB_BITMAP1));
 
    // послать оверлей на кнопку 
    SendDlgItemMessage(IDC_BUTTON2, BM_SETIMAGE,  IMAGE_BITMAP, (LPARAM)bit_button);
 
    // если хочешь иконки использовать то флаг должен быть BS_ICON
 
    // А вот способ загрузки из файлов
    bits  = (HBITMAP) LoadImage((HINSTANCE)GetWindowLong(m_hWnd, GWL_HINSTANCE),
                 "X:\\bitmap.bmp", IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);
    
    SendDlgItemMessage(IDC_BUTTON3, BM_SETIMAGE,  IMAGE_BITMAP, (LPARAM)bits);
       
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru