Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.193.172] |
|
Сообщ.
#1
,
|
|
|
Привет всем!
Мне нужно натянуть рисунок на кнопку, чтобы белый цвет стал прозрачным. Я поставил в свойствах кнопки галку 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); ----------------------- Но у меня ничего не работает. Помогите разобраться! |
Сообщ.
#2
,
|
|
|
Битмапы как ресурс на поддерживают прозрачный цвет. Прозрачность можно задавать в иконках, а также при загрузке битмапа в ImageList, который используется в ToolBar-ах,
ListBox-ах и прочих контролах. Я лично в кнопках использую иконки. Делаю то-же самое, что и ты, но вместо битмапов использую иконки. И не забудь в свойсвах кнопки заменить галку с Bitmap на Icon. |
Сообщ.
#3
,
|
|
|
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 ); |
Сообщ.
#4
,
|
|
|
Есть такая функция не описанная в хелпе, но которая есть в h-файле wingdi.h ...
TransparentBlt выводит картину из одного DC в другой DC с цветом прозрачности ... |
Сообщ.
#5
,
|
|
|
2MAXIMUM: MSDN Library - Month Year (>1999) -> Platform SDK Documentation -> Graphics and Multimadia Services -> Windows GDI -> Bitmap Reference -> Bitmap Functions -> TransparentBlt и не надо вводить в заблуждение остальных...
|
Сообщ.
#6
,
|
|
|
GE я полюзуюсь хелпом от Builder-a а она там не описанна... кстати проверял эта функция корректно работает только под w2k... под 98 она у меня что-то глючит..
|
Сообщ.
#7
,
|
|
|
А не судьба воспользоваться готовыми решениями, коих полно в Сети?
|
Сообщ.
#8
,
|
|
|
2 MAXIMUM: а за 95-ми окошками функции TransparentBlt вообще не видно.
|