Menüs klonen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Folgende Funktion klont ein komplettes Menü inkl. Untermenüs. Ihr muss als Parameter das MenuItem übergeben werden. Die Funktion basiert auf dem Aufruf von "NewItem". Es werden die Eigenschaften Caption, ShortCut, Checked, Enabled und HelpContext übernommen. Außerdem wird das gleiche OnClick-Ereignis zugewiesen.
function CloneMenuitem(SourceItem: TMenuItem): TMenuItem;
var
i: Integer;
begin
with SourceItem do
begin
Result := NewItem(Caption, //Die einzelnen Eigenschaften
Shortcut,
Checked,
Enabled,
OnClick,
HelpContext,
Name+'Copy');
for i:= 0 to Count-1 do
Result.Add(CloneMenuItem(Items[i]));
end;
end;
Der untenstehende Aufruf kopiert das komplette Menu von Form1 in das Menü von Form2:
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for i:= 0 To Form1.MainMenu1.Items.Count-1 Do
Form2.MainMenu1.Items.Add(
CloneMenuItem(MainMenu1.Items[i]));
end;
- Systemmenü verkleinern
- Systemmenü erweitern
- Menüeintrag rechts im Formular ausrichten
- Horizontalen Trennstrich im Menü
- MainMenü manuell öffnen
- Caption eines TMenuItems ermitteln
- Shortcuts zur Laufzeit zuweisen
- Verknüpfungen aus der Dokumenten-Liste löschen
- Dokument der Dokumenten-Liste hinzufügen
- Eintrag ins Startmenü einfügen