AGB  ·  Datenschutz  ·  Impressum  







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

mainmenu items ändern

Ein Thema von Hartfrid Krause · begonnen am 5. Feb 2013 · letzter Beitrag vom 6. Feb 2013
Antwort Antwort
Hartfrid Krause

Registriert seit: 20. Feb 2007
90 Beiträge
 
Delphi XE6 Professional
 
#1

mainmenu items ändern

  Alt 5. Feb 2013, 16:49
Ich habe in delphi 8.0
ein mainmenue mit drei Utermenues:
schraffiert
farbig
Druck.

Ich möchte die beiden ersten quasi als Kippschalter benutzen:
wenn ich schraffiert anklicke, dann soll die Zeichnung schraffiert werden und die Anzeige springt auf farbig.
Wenn ich dann farbig anklicke, so soll die Grafik farbig werden und der Schalter lautet schraffiert.

Im Endeffekt hätte ich dann nur zwei Schalter:
schraffirt bzw. farbig und Druck
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: mainmenu items ändern

  Alt 5. Feb 2013, 16:57
Guck dir in der OH beim Thema Menü folgenden vier Punkte an: AutoCheck, Checked, RadioItem und GroupIndex an. Je nachdem was du brauchst ist es in der Regel eine Kombination aus einigen der vier Punkte.
  Mit Zitat antworten Zitat
Hartfrid Krause

Registriert seit: 20. Feb 2007
90 Beiträge
 
Delphi XE6 Professional
 
#3

AW: mainmenu items ändern

  Alt 6. Feb 2013, 08:33
Da komme ich noch nicht weiter.
Ich stelle mir etwa vor:
if mainmenu1.items....='schraffiert' then
begin
schraffieren(sender);
....umbenennen des ersten items in farbe...
exit;
end;

if mainmenue1.items....='farbig' then
begin
farbig(sender);
....umbenennen von farbig in schraffiert...
end;

aber wie ich den Namen der items abfrage und wie ich jeweils einen spezifischen Namen verändere, das weiß ich nicht.
Die Hinweise führen mich nicht weiter.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: mainmenu items ändern

  Alt 6. Feb 2013, 08:59
Im OnClick-Event des TMenuItem-Eintrags kannst Du über den Parameter 'Sender' das MenuItem abfragen, auf das geklickt wurde. Dort kommt dein Code rein.
  Mit Zitat antworten Zitat
Hartfrid Krause

Registriert seit: 20. Feb 2007
90 Beiträge
 
Delphi XE6 Professional
 
#5

AW: mainmenu items ändern

  Alt 6. Feb 2013, 10:00
Ich stehe weiterhin auf dem schlauch:
im Objektinspektor rufe ich in onclick die procedure schraffiertfarbigpruef auf.

Die Abfragen
a. wie der Name des tmenueitem ist, um eine weitere procedure aufzurufen und
b. wie ich den Namen verändern kann
gelingt mir noch nicht


procedure tform8.schraffiertFarbigPruef(sender:TObject);
begin
//if TmenuItem. sender =('schraffiert') then
begin
schraffieren(sender);
//....umbenennen des ersten items in farbe...
exit;
end;
{if mainmenue1.items....='farbig' then
begin
farbig(sender);
....umbenennen von farbig in schraffiert...
end; }
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: mainmenu items ändern

  Alt 6. Feb 2013, 10:05
Von Delphi.NET hab ich keinen Plan, aber so ungefähr könnte es doch gehen:
Delphi-Quellcode:
procedure TDeinForm.DeinMenuItemClick(sender:TObject);
begin
  if Sender = DeinMenuItem then
    begin
      FSchraffiert := not FSchraffiert;
      if FSchraffiert then
        begin
          (* Code *)
        end
      else
        begin
          (* Code *)
        end;
    end;
end;
Wobei man FSchraffiert auch als private Property deklarieren könnte, welche im Setter dann die Änderungen vornimmt.
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 uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

AW: mainmenu items ändern

  Alt 6. Feb 2013, 10:27
Ich möchte die beiden ersten quasi als Kippschalter benutzen:
wenn ich schraffiert anklicke, dann soll die Zeichnung schraffiert werden und die Anzeige springt auf farbig.
Wenn ich dann farbig anklicke, so soll die Grafik farbig werden und der Schalter lautet schraffiert.

Im Endeffekt hätte ich dann nur zwei Schalter:
schraffirt bzw. farbig und Druck
Die gängigere Variante dürfte IMHO sein, alle drei Items anzuzeigen, aber die ersten beide zu einer "RadioGroup" zusammenzufassen. Das sollte mit den von Popov aufgelisteten Properties schnell gemacht sein.
Uli Gerhardt
  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 03:07 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