Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возможны ли извраты с PopupMenu? [D5]


De ©   (2005-11-25 13:41:00) 

Можно ли PopupMenu сделать прозрачным или изменить его цветовую гамму (не затрагивая глобальных настроек windows и не переписывая компонент полностью с нуля) ?
Спасибо


Ega23   (2005-11-25 15:36:00) [1]

Посмотри, может и для стандартного адаптировать можно.


De   (2005-11-25 15:35:00) [2]

так у тебя RX, меня стандартный интересовал :(


Ega23   (2005-11-25 15:20:00) [3]


> чем рисовал, что юзал?


Ох... Если бы я помнил... Сейчас поищу...

Вот. TRxPopupMenu.OnDrawMargin

procedure TFMain.RxPupSpecFuncDrawMargin(Sender: TMenu; Rect: TRect);
 var cl:tcolor;
   mnu:Trxpopupmenu;
   ss:string;
const
 Txt = '';
begin
 mnu:=(sender as  Trxpopupmenu);
 ss:=mnu.Name;
with mnu .Canvas.Font do begin
   Name := 'Courier New';
   Style := [fsBold];
   Size := 14;
   Color := clWhite;
   Handle := CreateRotatedFont(mnu.Canvas.Font, 90);
 end;
 cl:=$00ACDAFB;
 mnu.DefaultDrawMargin(Rect, cl, RGB(GetRValue(cl) div 4, GetGValue(cl) div 4, GetBValue(cl) div 4));
 SetBkMode(mnu.Canvas.Handle, TRANSPARENT);
 ExtTextOut(mnu.Canvas.Handle, Rect.Left, Rect.Bottom - 5, ETO_CLIPPED,
   @Rect, Txt, Length(Txt), nil);
end;


De   (2005-11-25 14:51:00) [4]

> Ega23
чем рисовал, что юзал?


De   (2005-11-25 13:51:00) [5]

меню вызывается на форме черного цвета с динамическим изображением (OpenGL сцена), черный текст на белом фоне смотрится отвратно, вот и задался вопросом сделать его полупрозрачным или хотя бы изменить световую гамму


Ega23   (2005-11-25 13:43:00) [6]

Градиентную заливку когда-то на нём рисовал. Начальству понравилось. Сам считаю полной блажью.


Наверх

Титульная страница Поиск, карта сайта Написать письмо