Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Statusbar: "INS" und "OVR" (https://www.delphipraxis.net/124326-statusbar-ins-und-ovr.html)

Störtebeker 18. Nov 2008 20:26


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:
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;
funzt nicht. Ist es den überhaupt im KeyDown-Ereignis richtig? Oder doch im KeyPress?

MfG
Störtebeker

Zwoetzen 18. Nov 2008 21:44

Re: Statusbar: "INS" und "OVR"
 
Müsste das nicht eher so aussehen?

Delphi-Quellcode:
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;
(Code nicht getestet)

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? ;)

Cyberbob 18. Nov 2008 22:01

Re: Statusbar: "INS" und "OVR"
 
Und woher weiss dein Programm welcher Status vorhanden war, als es geöffnet wurde?

Störtebeker 18. Nov 2008 22:06

Re: Statusbar: "INS" und "OVR"
 
Danke Zwoetzen. Dein Code funktioniert einwandfrei. :thumb:

automatix 19. Nov 2008 08:55

Re: Statusbar: "INS" und "OVR"
 
Hallo!

Ich würde eher den wirklichen Status dafür zu Rate ziehen.

Delphi-Quellcode:
  if SynEdit1.InsertMode then
Grüße


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