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


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0295 ]   [ 16 queries used ]   [ Generated: 3.05.24, 17:38 GMT ]