Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
4-78717
Slym
2002-09-10 06:46
2002.10.24
Как показать свое окошко TopMost, но не дезактивировать предыдуще


3-78290
brestmarket
2002-10-03 04:14
2002.10.24
Чтение и ЗАПИСЬ в Paradox-table без BDE и т.п. ?


3-78310
Beer
2002-10-04 10:37
2002.10.24
Организация вывода таблицы в виде табеля.


7-78690
Геннадий
2002-08-17 22:29
2002.10.24
Работа с модемом...


3-78229
ДенМат
2002-10-01 14:05
2002.10.24
Да как же, блин, делать обновления..




   Наверх