Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TMenuItem, automatisches & in Caption (trotz AutoHotkeys:=maManual) (https://www.delphipraxis.net/176179-tmenuitem-automatisches-caption-trotz-autohotkeys-%3Dmamanual.html)

arc 17. Aug 2013 10:33

TMenuItem, automatisches & in Caption (trotz AutoHotkeys:=maManual)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe bereits diesen Artikel entdeckt und umgesetzt http://delphi.about.com/od/delphitip...-menu-item.htm

Leider bleibt mein Problem bestehen. Worum geht es?
http://www.delphipraxis.net/attachme...1&d=1376731373

Neben einem Eingabefeld soll eine Liste möglicher Vorgaben aus einem PopUp Menü wählbar sein. Bereits getätigte Eingaben speicher ich jeweils als neues Menüelement.

Speichern eines neuen Eintrags:
Delphi-Quellcode:
procedure TForm1.AddToCompanyList(s:string);
var MI:TMenuItem;
begin
  MI:=TMenuItem.Create(PopupMenu_Company_List);
  with MI do
  begin
    AutoHotkeys:=maManual; // prevents automatic & to be added...
    Caption:=s;
    OnClick:=CompanyListClick;
  end;
  PopupMenu_Company_List.Items.Add(MI);
end;
Wenn ich im Debugger in der letzten Zeile MI.Caption anschaue, ist dort kein & vorhanden. So wie es eigentlich sein soll.

Zuweisung:
Delphi-Quellcode:
procedure TForm1.CompanyListClick(Sender:TObject);
var MI:TMenuItem;
begin
  MI:=Sender as TMenuItem;
  // ggf StripHotKey nutzen
  Edit_Company.Text:=MI.Caption;
end;
Hier taucht aber urplötzlich ein & auf, im PopupMenu_Company_List ist AutoHotkeys ebenfalls auf maManual gesetzt. Ich könnte hier sicherlich StripHotKey nehmen, ich möchte jedoch wissen woher das & kommt.

Vielen Dank schonmal! :oops:

Volker Z. 17. Aug 2013 12:33

AW: TMenuItem, automatisches & in Caption (trotz AutoHotkeys:=maManual)
 
Hallo,

versuch es doch mal so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  PopupMenu_Company_List.AutoHotkeys := maManual
end;

procedure TForm1.AddToCompanyList(s:string);
var MI:TMenuItem;
begin
  MI:=TMenuItem.Create(PopupMenu_Company_List);
  with MI do
  begin
    Caption:=s;
    OnClick:=CompanyListClick;
  end;
  PopupMenu_Company_List.Items.Add(MI);
end;

procedure TForm1.CompanyListClick(Sender:TObject);
var MI:TMenuItem;
begin
  MI:=Sender as TMenuItem;
  Edit_Company.Text:=MI.Caption;
end;
Gruß

arc 17. Aug 2013 14:02

AW: TMenuItem, automatisches & in Caption (trotz AutoHotkeys:=maManual)
 
Es hat geklappt, vielen Dank! Also übernimmt ein TMenuItem die Eigenschaft auch wenn ich statt maParent ein maManual stehen habe. Ärgerlich aber gut zu wissen.

Volker Z. 18. Aug 2013 00:12

AW: TMenuItem, automatisches & in Caption (trotz AutoHotkeys:=maManual)
 
Hallo,

Zitat:

Also übernimmt ein TMenuItem die Eigenschaft auch wenn ich statt maParent ein maManual stehen habe. Ärgerlich aber gut zu wissen.
Steht so auch in der OH:
Zitat:

Abhängig vom Wert der Eigenschaft AutoHotkeys des Menübefehls, der einem Untermenü übergeordnet ist, passt das Menü gegebenenfalls das Tastenkürzel für dieses Untermenü an.
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 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