![]() |
Erzeugte MenuItem.Namen anzeigen
Hoffe jemand kann mich anschupsen und sagen wie ich das richtig ausdrücken müsste um den aktuellen geklickten Newitem.name zu bekommen.
Delphi-Quellcode:
var
Form1: TForm1; newitem: TMenuItem; I: Integer; implementation {$R *.dfm} function DriveExists(DriveByte: Byte): Boolean; begin Result := GetLogicalDrives and (1 shl DriveByte) <> 0; end; function DriveType(DriveByte: Byte): String; begin case GetDriveType(PChar(Chr(DriveByte + Ord('A')) + ':\')) of DRIVE_UNKNOWN: Result := 'unbekannt'; DRIVE_NO_ROOT_DIR: Result := 'Laufwerk existiert nicht'; DRIVE_REMOVABLE: Result := 'Wechselmedium'; DRIVE_FIXED: Result := 'Festplatte'; DRIVE_REMOTE: Result := 'Netzwerk'; DRIVE_CDROM: Result := 'CD-ROM/DVD'; DRIVE_RAMDISK: Result := 'RAM Disk'; else Result := 'anderer Laufwerkstyp'; end; end; Procedure TForm1.laufwerk(Sender: TObject); begin ShowMessage(newitem.Name[i]); // Hier komm ich nicht weiter end; procedure TForm1.FormCreate(Sender: TObject); begin for I := 0 to 25 do if DriveExists(I) then begin newitem:=TMenuItem.Create(MainMenu1); newitem.Name:=(Chr(I + Ord('A'))); newitem.Caption:=(Chr(I + Ord('A')) + ':\ (' + DriveType(I) + ')'); newitem.Tag:=i; newitem.RadioItem:=true; newItem.onClick := laufwerk; Form1.MainMenu1.Items[0].Add(newitem); end; end; |
Re: Erzeugte MenuItem.Namen anzeigen
Delphi-Quellcode:
Die zwei zusätzlichen globalen Variablen würde ich lokal deklarieren:
Procedure TForm1.laufwerk(Sender: TObject);
begin ShowMessage( (Sender as TMenuItem).Name ); // Hier komm ich nicht weiter end;
Delphi-Quellcode:
...und im globalen VAR entfernen
procedure TForm1.FormCreate(Sender: TObject);
var newitem: TMenuItem; I: Integer; begin PS: die globale Schleifen-Variable "i" müsste Delphi sogar reklamieren ;) |
Re: Erzeugte MenuItem.Namen anzeigen
vielen dank hat geklappt
:-P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz