Автор
|
Тема: 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, 80HBITMAP 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 вообще не видно. |