MenuItem in der Laufzeit verändern

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

MenuItem in der Laufzeit verändern

Beitragvon Aphadias » 7. Nov 2018, 08:53 MenuItem in der Laufzeit verändern

Moin..

kann man während der Laufzeit das Menuitem verändern und gleichzeitig abspeichern? Würde sich zum speichern dann am besten eine Ini-Datei machen? Überlege die ganze Zeit wie ich es am besten angehe. Habt ihr da ein paar Ideen für mich?
Aphadias
 
Beiträge: 124
Registriert: 28. Okt 2015, 18:28

Beitragvon fliegermichl » 7. Nov 2018, 11:01 Re: MenuItem in der Laufzeit verändern

Ja klar kann man.
z.B.
Menuitem1.Caption := 'Neue Bezeichnung';

speichern mit z.B.
ini.writeString('Gruppe', 'Menuitem1', MenuItem1.Caption);

laden mit
MenuItem1.Caption := ini.ReadString('Gruppe', 'MenuItem1', 'Default Menu'); // Default Menu wird genommen wenn der Eintrag in der ini nicht gefunden werden kann.
fliegermichl
 
Beiträge: 213
Registriert: 9. Jun 2011, 08:42

Beitragvon Frank Ranis » 8. Nov 2018, 09:11 Re: MenuItem in der Laufzeit verändern

Hallo ,

wo wir gerade TMenuItem am Gange haben.

Ich probier momentan ein wenig mit dem Selberzeichnen von TMenuItems herum.

Unter Windows klappt das so halbwegs , wie ich mir das vorstelle.

Unter Linux werden die Events OnDrawItem und OnMeasurItem nicht ausgeführt .
Da wird einfach stur so gezeichnet , als wenn man Property MainMenu.OwnerDraw OFF hätte.

Benutze

WINDOWS
Lazarus 1.8.0 r56594 FPC 3.0.4 x86_64-win64-win32/win64

bzw.

LINUX
Lazarus 1.8.4 rUnversioned directory FPC 3.0.4 x86_64-linux-gtk2

Hat jemand eine Idee?

Code im Anhang.

Gruß

Frank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
www.flz-vortex.de
Frank Ranis
 
Beiträge: 112
Registriert: 24. Jan 2013, 21:22
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon fliegermichl » 8. Nov 2018, 09:18 Re: MenuItem in der Laufzeit verändern

An sowas hätte ich auch Interesse. Ich würde gerne MenüItems mit zwei separaten Schaltflächen haben.
Ich habe eine Zeiterfassung geschrieben die in der Taskleiste ein Symbol hat. Wenn man das anklickt, erscheinen die letzten 10 Vorgänge an denen man gearbeitet hat.

Wenn man einen davon anklick, läuft die Zeit für diesen Vorgang. Ich hätte aber gerne noch eine zweite Schaltfläche bei der der entsprechende Vorgang dann bearbeitet werden kann.

Hat jemand sowas schonmal umgesetzt?
fliegermichl
 
Beiträge: 213
Registriert: 9. Jun 2011, 08:42

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried