Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

DwmExtendFrameIntoClientArea и корректный вывод PBitmap


ParanoiS ©   (02.03.15 20:45

Доброго времени суток! Пытаюсь вывести GRushControl на стекло, но почему-то транспарентные области рисуются черным. Как сие победить?

Вот сырье OnPaint:

procedure TMainForm.btnAppMenuPaint(Sender: PControl; DC: HDC);
var
 pb:HPAINTBUFFER;
 nDC:HDC;
 pp:TBPPaintParams;
 R:TRect;
begin
 if GlassFrame then begin
 // свойство, true если DwmExtendFrameIntoClientArea успешно
   ZeroMemory(@pp, sizeof(pp));
   pp.cbSize := sizeof(pp);
   R:=Sender.ClientRect;
   pb:=BeginBufferedPaint(dc,R,BPBF_COMPOSITED,nil,nDC);
   if pb=0 then PGRushControl(Sender).DoPaint(Sender,DC) else begin
     PGRushControl(Sender).DoPaint(Sender,nDC);
     BufferedPaintSetAlpha(pb,@R,255);
     EndBufferedPaint(pb,true);
   end;
 end else PGRushControl(Sender).DoPaint(Sender,DC);
end;

В KOLGRushControls.pas сделано
   public
       procedure DoPaint (Ctl_: PControl; DC: HDC);

Скрин проблемы:
https://yadi.sk/i/GDJUzKFmeymoQ


ParanoiS ©   (03.03.15 20:12[1]

на скрине кстати видно, что btnAppMenu имеет черную область, а кнопка рядом (btnRibbonQuick[i]) - цвет DEF_ColorOuter.. Все свойства у них одинаковые, т.к. создаются динамически одним кодом..


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо