![]() |
Statusbar: "INS" und "OVR"
Hi,
bin gerade dabei, für meinen Editor in der Statusbar den Zustand des Schreibmodus anzugeben. Kennt man ja. Doch
Delphi-Quellcode:
funzt nicht. Ist es den überhaupt im KeyDown-Ereignis richtig? Oder doch im KeyPress?
procedure TForm10.SynEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin If Key = #45 then // #45 = VK_INSERT begin Statusbar1.Panels[2].Text := 'OVR'; end else begin Statusbar1.Panels[2].Text := 'INS'; end end; MfG Störtebeker |
Re: Statusbar: "INS" und "OVR"
Müsste das nicht eher so aussehen?
Delphi-Quellcode:
(Code nicht getestet)
procedure TForm10.SynEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin If Key = #45 then // #45 = VK_INSERT // Afaik könnte man auch direkt "Key = VK_INSERT" als Bedingung nehmen und somit auf die Zahl verzichten ;) begin if (Statusbar1.Panels[2].Text = 'OVR') then Statusbar1.Panels[2].Text := 'INS' else Statusbar1.Panels[2].Text := 'OVR'; end; end; Du setzt den Status ja immer auf OVR, wenn die Taste gedrückt ist, und beim nächsten Drücken einer beliebigen Taste wieder zurück auf INS. Dabei müsste doch beim Drücken der Insert-Taste der Zustand jeweils zwischen INS und OVR geändert werden, oder nicht? ;) |
Re: Statusbar: "INS" und "OVR"
Und woher weiss dein Programm welcher Status vorhanden war, als es geöffnet wurde?
|
Re: Statusbar: "INS" und "OVR"
Danke Zwoetzen. Dein Code funktioniert einwandfrei. :thumb:
|
Re: Statusbar: "INS" und "OVR"
Hallo!
Ich würde eher den wirklichen Status dafür zu Rate ziehen.
Delphi-Quellcode:
Grüße
if SynEdit1.InsertMode then
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 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 by Thomas Breitkreuz