Главная страница
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.024 c
6-78555
Sour
2002-08-18 17:04
2002.10.24
Как получить почту по POP3, не используя VCL?


4-78728
Acidy
2002-09-10 15:31
2002.10.24
Есть такой трабл про консольное при.......Прошу помогите ......


14-78624
Человек
2002-10-03 16:11
2002.10.24
А как лучше производить оплату за продаваемые мною программы?


3-78216
RomanIz
2002-09-30 19:22
2002.10.24
Таблица в памяти


3-78308
dimonf
2002-10-03 16:46
2002.10.24
Почему зависает приложение, после SQL запроса?