Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Farbe eines Menüs verändern
Mari - Sa 14.12.02 19:06
Titel: Farbe eines Menüs verändern
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
Anonymous - Sa 14.12.02 22:20
Was für eine Delphiversion?
Mari - So 15.12.02 13:01
5 oder 6
Anonymous - So 15.12.02 18:57
5 oder 6? Dann hast du neue Evens oder auch nicht.
Tino - 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
Anonymous - 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 - 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
Anonymous - 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 - Mo 16.12.02 16:20
Ich hab's inzwischen herausgefunden:
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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!