Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание собственной кнопки

1.2K
16 февраля 2007 года
BigBug
93 / / 30.07.2004
Народ !!!
Посоветуйте мне как лучше создать свою кнопку.
Тоесть не стадартную Win кнопку а свою на основе картинки.
Попробовал с Picture Control. Работает конечно но както тормозно, застряёт.
Вобщем есть ли способ по лучше ?
320
16 февраля 2007 года
m_Valery
1.0K / / 08.01.2007
C Picture Control не должно ничего застрявать и тормозить,значит ты что-то напутал.:) Потом Picture Control - это не кнопка,это static для рисунка.Делай именно кнопку с рисунком.Все элементарно.
1.Добавляешь в диалоговое окно кнопку,ставишь ей идентификатор
IDC_BTSBITMAP.
2.В ее Properties устанавливаешь свойство Bitmap в True,a свойство
Owner Draw обязательно False,эти свойства взаимоисключающие.
3.Добавляешь в класс твоего диалога переменную типа CBitmap bitmap,
делаешь ее protected.
4.Добавляешь в Resource View сам Bitmap.Add Resource->Bitmap->
Import->Open.
5.В функции OnInitDialog дописываешь
 
Код:
CButton* pBSBitmapBtn = (CButton*)GetDlgItem(IDC_BTSBITMAP);
    ASSERT(pBSBitmapBtn);
    if(pBSBitmapBtn)
    {
        VERIFY(bitmap.LoadBitmap(IDB_BITMAP2));
        HBITMAP hbmp = (HBITMAP)bitmap.GetSafeHandle();
        pBSBitmapBtn->SetBitmap(hbmp);
    }

IDB_BITMAP2 - идентификатор добавленного Bitmap.Все должно получиться,если нет значит где-то ты ошибаешься.
1.2K
17 февраля 2007 года
BigBug
93 / / 30.07.2004
Это работает. Получилась стандартная кнопка с рисунком.
Ну а если мне нужна скажем круглая кнопка. Совершенно не похожая
на стандартную ?
563
17 февраля 2007 года
MrLinker
249 / / 17.09.2006
WINAPI в помощь.
Нужно зарегестрировать свой класс.
Создать окно. Стиль соответствено.
Написать функцию обработки сообщений для окна, где и управлять прорисовкой, отслеживая нажатие всяких там кнопок от мышки и клавы )
284
19 февраля 2007 года
michael_is_98
587 / / 25.02.2005
Посмотрите библиотеку
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог