AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Möglichkeiten von Menüs, bzw. TMenuItem

Ein Thema von Popov · begonnen am 5. Feb 2013 · letzter Beitrag vom 5. Feb 2013
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 14:27
Vielleicht sehe ich mal wieder nur nicht den Wald vor lauter Bäume nicht mehr oder vielleicht ist alles offensichtlich, vielleicht steht es mal wieder in der OH und ich sehe es nur wieder mal nicht.

Es geht um Menüs und die Einsatzmöglichkeiten, bzw. was mich interessiert sind alternative oder erweiterte Einsatzmöglichkeiten. Ok, OnClick bietet eigentlich alles was man sich wünscht, aber nicht wenn man das Menü eher flexibel nutzt. Mal ein Beispiel: ich möchte in das Menü für Auswahl von 16 Farben nutzen. In einer ComboBox würde ich es einfach machen in dem ich die Farbe in einem Objekt vermerke und das an das Item klebe und zuletzt alle OnClick Ereignisse auf eine einzige Prozedur zeigen würden.

Das vermisse ich bei TMenuItem oder ich übersehe da etwas. Für ein Projekt muss alles flexibel sein und was das Menü macht entscheidet sich immer erst bei Bedarf.

Ich weiß, dass andere Programme Menüs auch flexibel einsetzten, nur weiß ich nicht ob sie das Standardmenü nutzen oder eine eigene Komponente. Was ich also vermisse ist etwas wo ich meine Objekt dran kleben kann.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 14:34
Wenn es gar nicht anders geht, kannst Du (in einem 32Bit-Programm) eigentlich immer die Tag-Eigenschaft dafür missbrauchen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 14:42
Ownerdraw anschalten und gut ist ...

Delphi-Quellcode:
const
 ColorArray:Array[0..7] of TColor=(clRed,clLime,clBlue,clWhite,clMaroon,clGreen,clLime,clSilver);

procedure TForm1.DrawItem(Sender: TObject; ACanvas: TCanvas; ARect: TRect; Selected: Boolean);
begin
   Acanvas.Brush.Color := TMenuItem(sender).Tag;
   Acanvas.FillRect(ARect);
end;

procedure TForm1.FormCreate(Sender: TObject);
Var
 i:Integer;
 mi:TMenuItem;
begin
   for I := 0 to 7 do
      begin
         mi := TMenuItem.Create(PopupMenu1);
         mi.Tag := ColorArray[i];
         mi.OnDrawItem := DrawItem;
         mi.OnClick := ItemClick;
         popupmenu1.Items.Add(mi);
      end;
end;

procedure TForm1.ItemClick(Sender: TObject);
begin
   Color := TMenuItem(Sender).Tag;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 15:08
@DeddyH

Hab zwar auch schon dran gedacht, also eine Art Doppelpflege, hier Menü, da Liste, logisch verbunden über Tag, aber für das Projekt und die Langzeitpflege wird das zu unübersichtlich, da das Projekt etwas komplexer wird.

Also wenn ich nichts übersehen habe, wird es mit einer neuen Komponente enden. Wäre auch eine Möglichkeit, auch wenn ich hoffe einfach etwas übersehen zu haben.

@Bummi

Danke, aber die Farben waren hier nur ein Beispiel. Es geht um mehr Informationen. Wobei bei tricksen bin ich gar nicht so unbedarft (hab mich dank dir gerade an ein älteres Projekt erinnert). Im Anhang ein Bild, zufällig auch Menü, bzw. PopUpMenu und Farben, wo ich auch das Menü flexibel gestaltet habe, bzw. die Schema-Teile. Der Trick hier war, dass im Menü selbst ein langer Kommagetrennter String mit vielen Informationen eingefügt wurde, aber in OnDrawItem der Zerlegt wurde und ein neuer Text gemalt wurde. Damals habe ich also das Caption für die Informationen missbraucht.

Somit hat sich die Frage mehr oder weniger erledigt. Denn wenn ich damals schon tricksen musste, habe ich mir damals auch Gedanken vorher gemacht. Somit gibt es da wohl nichts.
Miniaturansicht angehängter Grafiken
menutricks.png  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

AW: Möglichkeiten von Menüs, bzw. TMenuItem

  Alt 5. Feb 2013, 15:26
Wozu Liste? Leg das Objekt in der Tag-Eigenschaft ab und gut. Du darfst nur nicht vergessen, es dann wieder freizugeben. Wirklich sauber ist das aber natürlich nicht, das wäre mit einer eigenen Komponente schöner hinzukriegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz