Autor Beitrag
Mari
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Sa 14.12.02 19:06 
Wie kann ich bei einem Menü die Hintergrundfarbe oder Schriftfarbe eines Menüpunktes oder des ganzen Menüs verändern bzw. als Hintergrund für die Menüpunkte eine Bitmap nehmen?

Mari
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 14.12.02 22:20 
Was für eine Delphiversion?
Mari Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: So 15.12.02 13:01 
5 oder 6
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 15.12.02 18:57 
5 oder 6? Dann hast du neue Evens oder auch nicht.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 16.12.02 10:01 
Hallo Mari,

die MenuItems verfügen über das OnDrawItem-Event. Mit hilfe dieses Events kannst Du die Menüpunkte selbst zeichnen!

Gruß
TINO
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.12.02 11:00 
Der OnDrawItem-Event ist relativ neu. Da muß er schon wissen was für eine Version er hat. Wenn er wirklich 5 oder 6 hat, dann mußte OnDrawItem schon drinn sein. Wenn es eine ältere Version ist, dann kann er den Event suchen bis er schwarz ist.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 16.12.02 11:06 
Popov hat folgendes geschrieben:
Da muß er schon wissen was für eine Version er hat.

hat er/sie doch
Mari hat folgendes geschrieben:
5 oder 6

und in beiden Versionen ist diese Event vorhanden.

Gruß
TINO
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 16.12.02 11:52 
Das war nicht 5 und 6, sondern 5 oder 6. 5 oder 6 kann bei mir auch 2 oder 5 oder auch 3 oder 6 bedeuten. Das bedeutet, daß er nicht weiß welche Version er hat. Eigentlich bin ich mir schon im klaren welche Version von Delphi ich habe. Bevor ich also viertel Stunde Zeit opfere und ihm ein Beispiel schreibe, möchte ich vorher wissen ob das vertane Mühe ist. Es wäre dann schön wenn er als Gegenleistung 10 Sekunden opfern würde um zu gucken was für eine Version es wirklich ist.
Mari Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mo 16.12.02 16:20 
Ich hab's inzwischen herausgefunden:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Item1DrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: Boolean);
begin
   acanvas.brush.Color := cllime;
   aCanvas.FillRect(ARect);
   aCanvas.TextOut(ARect.Left + 2, ARect.Top + 1, item1.Caption);
end;

Die Eigenschaft Ownerdraw des Mainmenus muss dabei auf true stehen.

Zitat:
Das bedeutet, daß er nicht weiß welche Version er hat
Nein, so blöd bin ich nicht :wink: , ich meinte dass ich Delphi5 und Delphi6 habe und es für eine der beiden oder beide Versionen wissen wollte.

Mari