Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

Очень нада, помогите   Найти похожие ветки 

 
FREEMAX   (2002-10-14 01:49) [0]

Для Вас вопрос наверное несложный, а я незнаю как изменить цвет всплывающего меню (MainMenu). Подскажите очень надо.


 
Юрий Зотов ©   (2002-10-14 01:59) [1]

Вопрос как раз непростой. Это системный цвет и изменить его в отдельно взятой программе не так-то легко. Нужно рисовать меню "ручками" - см. свойство TMenu.OwnerDraw и события TMenuItem.OnDrawItem, TMenuItem.OnAdvancedDrawItem, TMenuItem.OnMeasureItem, а также свойства и методы TCanvas.


 
FREEMAX   (2002-10-14 02:04) [2]

Ого не знал что все так непросто, я попытаюсь спасибо за ответ. Да если не сложно напишите хоть код, ну это если не сложно, а так ина етом спасибо.:)


 
Юрий Зотов ©   (2002-10-14 03:43) [3]

Вот пример.

type
TForm1 = class(TForm)
PopupMenu: TPopupMenu;
Item1: TMenuItem;
Item2: TMenuItem;
Item3: TMenuItem;
procedure FormCreate(Sender: TObject); // OnCreate
private
procedure DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
with PopupMenu, Items do
begin
OwnerDraw := True;
for i := 0 to Count - 1 do Items[i].OnDrawItem := DrawItem
end
end;

procedure TForm1.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);
const
Colors: array[boolean] of TColor = (clNavy, clYellow);
begin
with ACanvas do
begin
Brush.Color := Colors[Selected];
Font.Color := Colors[not Selected];
TextRect(ARect, ARect.Left + 4, ARect.Top + 1, StripHotkey(TMenuItem(Sender).Caption))
end
end;



Страницы: 1 вся ветка

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-78298
Sergey-ZZZ
2002-10-03 15:07
2002.10.24
SQL, QUERY


1-78352
Schummi
2002-09-15 09:53
2002.10.24
Буфер обмена


1-78498
LandWarrior
2002-10-13 18:04
2002.10.24
Как создать коллекцию из контролов


1-78407
DAXg
2002-10-11 23:45
2002.10.24
Ув. Мастера, как можно узнать, запущена ли программа C: proga pro


14-78619
VictorT
2002-10-03 13:07
2002.10.24
Прикол. Но он меня задолбал.