AGB  ·  Datenschutz  ·  Impressum  







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

Menüs zur Laufzeit

Ein Thema von DelphiSourcer · begonnen am 7. Feb 2005 · letzter Beitrag vom 7. Feb 2005
Antwort Antwort
DelphiSourcer

Registriert seit: 7. Feb 2005
43 Beiträge
 
Delphi 2006 Professional
 
#1

Re: Menüs zur Laufzeit

  Alt 7. Feb 2005, 13:52
Hallo, allerseits!

Danke wie verrückt für Eure schnelle Hilfe.

sniper_w schreibt, dass es so hier funktioniert:

[ot]
for i:=0 to Menu.Items.Count-1 do
for j:=0 to Menu.Items[i].Count-1 do
LBox.Items.Add(Menu.Items[i].Items[j].Caption);
[/ot]

Perfekt, funktioniert auch, Danke

mr47 schreibt:

[ot]
Herzlich willkommen in der DP! Very Happy Benutz bitte die den Code-Tag, damit der Quellcode von dir leserlicher wird Exclamation
[/ot]

Ok, werde ich beherzigen. Habe bei obigem Quelltext in dieser Antwort das Tag gleich mal verwendet, um zu sehen, ob es wie gewünscht funktioniert.

urs.liska schreibt:

[ot]
Damit existiert das Objekt Menu.Items[0].Items[0] (nämlich "Datei->Neu").
Das Objekt Menu.Items[1] existiert aber noch nicht, deshalb wird bei Deinem Versuch, mit Menu.Items[1].Add(Oeffnen) auf das Objekt zuzugreifen, eine Exception ausgelöst.
Der Abschnitt müsste also (wie gesagt, wenn ich es richtig sehe) so aussehen:
Quellcode: markieren
Menu.Items.Add(Datei);
Menu.Items[0].Add(Neu);
Menu.Items[0].Add(Oeffnen); /etc.
[/ot]

Du hast recht, das war der Grund, warum ich keine weiteren Menüpunkte einfügen konnte. Zu dem anderen Problem hat mir sniper_w bereits gehlfen. Sein Tipp ist hier der richtige.


roderich schreibt:

[ot]
für mehrsprachige Menues müßtest Du aber weder die MenuItems zur Laufzeit erzeugen noch ResourceStrings verwenden.
-> Beim Umschalten der Sprache kannst du auch einfach nur die Captions ändern
[/ot]

Gut und schön, aber wie ordne ich dann den Spracheintrag der richtigen Caption zu? Von Hand ist es klar, aber um die Captions spracabhängig aus einer Datei zu lesen, muss ich zur Laufzeit auf die Menüeinträge zugreifen können. Und durch meine Laufzeitmenüs in meinem Programm, weiß ich nun, wie ich die Captions dann erreiche.

[ot]
-> Den Sinn von ResourceStrings habe ich noch nie verstanden. Wir verwenden Ascii-Dateien mit den Spracheinträgen, die an die Tags der Komponenten gekoppelt sind. Der riesige Vorteil ist der, daß man Sprachdateien einfach mit einem Texteditor ändern kann, ohne das Projekt neu kompilieren zu müssen.
[/ot]

[ot]
-> Den Sinn von ResourceStrings....
[/ot]

Ich nehme an, das man damit verschiedene Stringkonstanten nach folgendem Muster anlegt:

[ot]
ResourceString
sDatei = 'Datei';
sFile = 'File';
............
sBearbeiten = 'Bearbeiten';
sEdit = 'Edit';
............

type TLanguage = (english, german, french, .... );

begin
case Language of
english: Menu.Items[0].Caption := sFile;
german: Menu.Items[0].Caption := sDatei;
french: ...;
end;
end;
[/ot]

Sprachdatei verwenden, ist natürlich auch ein Vorschlag. Werde das testen.

Ich danke Euch noch einmal allen für Eure unkomplizierte schnelle Hilfe und

grüße Euch

DelphiSourcer
  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 15:42 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