![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Возможны ли извраты с 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]Градиентную заливку когда-то на нём рисовал. Начальству понравилось. Сам считаю полной блажью.