![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PopupMenu другого цвета [D6, Win2k]
mrald © (2004-09-11 22:40:00)Подскажите, пожалуйста, как изменить цвет PopupMenu? Дело в том, что у этого компонента (и ему подобных) нет механизмов для графической работы с окном объекта (такие как TCanvas). Тем не менее у некоторых типов PopupMenu есть возможность устанавливать клиентскую графическую область окна, но не всего, а только слева. Подскажите, может есть расширенный компонент. Или может я просто что-то пропустил?
DVM (2004-09-12 12:25:00) [1]Вот только рамку меню перерисовать путём не удасться под XP.
тот же (2004-09-12 09:53:00) [2]
procedure TForm1.FormCreate(Sender: TObject);
begin
PopupMenu1.OwnerDraw := true;
end;
procedure TForm1.N1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
begin
ACanvas.Font.Name := 'Times New Roman';
ACanvas.Font.Style := [fsbold];
ACanvas.Font.Color:=clRed;
ACanvas.Font.Size:=10;
ACanvas.TextOut(1,1,' Красный Item');
end;
Рыба (2004-09-11 22:46:00) [3]ставить OwnerDraw := True и обрабатывать OmMeasureItem/ OnDrawItem(OnAdvancedDrawItem).