| Автор | Тема:   Bitmap на кнопке | 
| Sandello |  опубликован 05-03-2001 14:39 MSK     Привет всем!
 Мне нужно натянуть рисунок на кнопку, чтобы белый цвет стал прозрачным. Я поставил в свойствах кнопки галку Bitmap и написал в OnInitDialog() вот что:
 ----------------
 CBitmap bmOpen;
 bmOpen.LoadBitmap(IDB_OPENIMG);
 CBitmap bmSave;
 bmSave.LoadBitmap(IDB_SAVEIMG);
 CBitmap bmExit;
 bmExit.LoadBitmap(IDB_CLOSEIMG);
 m_OpenButton.SetBitmap(bmOpen);m_SaveButton.SetBitmap(bmSave);
 m_ExitButton.SetBitmap(bmExit);
 -----------------------
 Но у меня ничего не работает.
 Помогите разобраться!
 | 
	| OlegN |  опубликован 06-03-2001 11:44 MSK     Битмапы как ресурс на поддерживают прозрачный цвет. Прозрачность можно задавать в иконках, а также при загрузке битмапа в ImageList, который используется в ToolBar-ах,
 ListBox-ах и прочих контролах.
 Я лично в кнопках использую иконки.
 Делаю то-же самое, что и ты, но вместо битмапов использую иконки. И не забудь в свойсвах кнопки заменить галку с Bitmap на Icon.
 | 
	| Resh |  опубликован 25-03-2001 20:57 MSK     Second way ( Win32 ):
 Style of button - BS_BITMAP, t.e... in
 file *.rc:
 CONTROL "Data", ID_MYBUTTON, "BUTTON", BS_BITMAP, 10, 30, 65, 80
 HBITMAP vr_hBttnBitmap = ::LoadBitmap( hInst, ID_MYBUTTON );if( vr_hBttnBitmap )
 SendMessage( GetDlgItem(Wnd,ID_MYBUTTON ),
 BM_SETIMAGE,
 (WPARAM)IMAGE_BITMAP,
 (LPARAM)vr_hBttnBitmap );
 
 | 
	| MAXIMUM |  опубликован 30-01-2001 16:57 MSK     Есть такая функция не описанная в хелпе, но которая есть в h-файле wingdi.h ...
 TransparentBlt выводит картину из одного DC в другой DC с цветом прозрачности ...
 | 
	| GE |  опубликован 30-01-2001 17:40 MSK     2MAXIMUM: MSDN Library - Month Year (>1999) -> Platform SDK Documentation -> Graphics and Multimadia Services -> Windows GDI -> Bitmap Reference -> Bitmap Functions -> TransparentBlt и не надо вводить в заблуждение остальных...
 | 
	| MAXIMUM |  опубликован 31-01-2001 12:40 MSK     GE я полюзуюсь хелпом от Builder-a а она там не описанна... кстати проверял эта функция корректно работает только под w2k... под 98 она у меня что-то глючит..
 | 
	| ADK |  опубликован 31-01-2001 13:48 MSK     А не судьба воспользоваться готовыми решениями, коих полно в Сети?
 | 
	| eyes |  опубликован 31-01-2001 14:00 MSK     2 MAXIMUM: а за 95-ми окошками функции TransparentBlt вообще не видно.
 |