Autor Beitrag
DorJo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: Mo 07.07.08 11:56 
Hy @ all,

wenn ich bei einem MainMenu die Hintergrundfarbe ändern möchte, muss ich zuerst ownerdraw:=true setzen und dann bei dem OnDrawItem Ereignis folgenden Code einfügen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Item1DrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: Boolean);
begin
with ACanvas do
begin
  Pen.Color:=clBlack;
  Brush.Color:=clLime;
  FillRect(ARect);
end;


Klappt auch astrein (Der Hintergrund wird farbig). Allerdings seh ich die Schrift nicht mehr!

Könnt ihr mir helfen?

MfG

Dor Jo
iKilledKenny
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: Mo 07.07.08 12:02 
Du siehst keinen Text, weil du keinen zeichnest...
DorJo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: Mo 07.07.08 12:04 
nja... soll ich das mit TextOut(0,0,<<text>>) machen? weil das mir egtl ni so gefällt... weil ich dafür ja dann die genauen Koordinaten von den Feldern brauche!
iKilledKenny
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: Mo 07.07.08 12:35 
Du kriegst das Rect, in das du den Text zeichnen musst, im EventHandler als Parameter übergeben.
DorJo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: Mo 07.07.08 14:48 
Ok... klar soweit! Aber wenn ich im Objektinspektor bei einem Item als Text "-" eingebe kommt so ein schöner Trennungsstrich. Das funktioniert nicht mehr :(
Genauso eigenartig ist, das ich ja au im Objektinspektor z.b. "&Datei" eingeben kann und da wird das D unterstrichen! Das beim Ownerdraw auch nicht mehr!

Könnt ihr mir da noch helfen? ^^

Jo
iKilledKenny
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: Mo 07.07.08 14:58 
Du musst halt abfragen, wie die Caption deines MenuItems ist.

Wenn es ein "-" ist, dann musst du eine Linie malen. Stichworte: Pen, Canvas.MoveTo, Canvas.LineTo

Wenn nicht, dann ists ein Menueintrag, den dann am besten mit DrawText malen -> Siehe Hilfe
Der letzte Parameter gibt die FormatFlags an, hier darf dann kein DT_NOPREFIX rein.
Apollo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 125

Windows 7
Delphi 3 Prof., Delphi 2005
BeitragVerfasst: Mo 07.07.08 15:05 
Guck doch einfach mal bei Torry. Da findest du 1000% was.
Und ne neue Komponente installieren ist auch einfacher :wink: (find ich so).

mfg Apollo

_________________
Im Zweifelsfall immer das Richtige tun
DorJo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: Di 08.07.08 11:31 
DANKE APOLLO FÜR DEN LINK!!! ECHT SUPI!!!!!