MenuItem in der Laufzeit verändern

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Aphadias
Beiträge: 124
Registriert: Mi 28. Okt 2015, 18:28

MenuItem in der Laufzeit verändern

Beitrag von Aphadias »

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?

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: MenuItem in der Laufzeit verändern

Beitrag von fliegermichl »

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.

Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Re: MenuItem in der Laufzeit verändern

Beitrag von Frank Ranis »

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
Dateianhänge
Drawitem.zip
(2.69 MiB) 74-mal heruntergeladen
www.flz-vortex.de

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1432
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: MenuItem in der Laufzeit verändern

Beitrag von fliegermichl »

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?

Antworten