CButton* pBSBitmapBtn = (CButton*)GetDlgItem(IDC_BTSBITMAP);
ASSERT(pBSBitmapBtn);
if(pBSBitmapBtn)
{
VERIFY(bitmap.LoadBitmap(IDB_BITMAP2));
HBITMAP hbmp = (HBITMAP)bitmap.GetSafeHandle();
pBSBitmapBtn->SetBitmap(hbmp);
}
Создание собственной кнопки
Посоветуйте мне как лучше создать свою кнопку.
Тоесть не стадартную Win кнопку а свою на основе картинки.
Попробовал с Picture Control. Работает конечно но както тормозно, застряёт.
Вобщем есть ли способ по лучше ?
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 дописываешь
Код:
IDB_BITMAP2 - идентификатор добавленного Bitmap.Все должно получиться,если нет значит где-то ты ошибаешься.
Ну а если мне нужна скажем круглая кнопка. Совершенно не похожая
на стандартную ?
Нужно зарегестрировать свой класс.
Создать окно. Стиль соответствено.
Написать функцию обработки сообщений для окна, где и управлять прорисовкой, отслеживая нажатие всяких там кнопок от мышки и клавы )
Посмотрите библиотеку