Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Überschreibmodus Simulieren in Edit (https://www.delphipraxis.net/134263-ueberschreibmodus-simulieren-edit.html)

Teekeks 18. Mai 2009 20:58


Überschreibmodus Simulieren in Edit
 
Hallo!
Ich möchte gerne einen "Überschreibmodus" in einem Edit Simulieren, und habe mir bis jetzt volgendes ausgedacht:
Delphi-Quellcode:

procedure TMyDatumEdit.KeyDown(var Key: Word; Shift: TShiftState);
begin
  MyOwnKeyDown(Key); //<-- nicht relevant
  DeleteChar(Key);
  inherited KeyDown(Key, Shift);
end;
{...}
procedure TMyDatumEdit.DeleteChar(Var Key:Word);
var tmp1,tmp2,test:string;
    x:integer;
begin
  if (Length(Text)=10) and (Key<>$00) and (Key<>$0D) and (Key<>$08) then
  begin
    // Überschreibmodus Simulieren:
    x:=SelStart;
    tmp1:=Text;
    tmp2:=UTF8Copy(Text,0,SelStart);
    SelLength:=19-SelStart;
    test:=tmp2+SelText;
    Text:=test;
    SelStart:=x+1;
  end;
end;
Nun, wenn ich das aufführe, und eine Taste Drücke, passiert nichts, außer das der Cursor an die erste Stelle springt.
Das Zeichen ersetzt nicht das welches es hätte ersetzen sollen.

Beispiel:
Wenn der Cusor auf Zeichen 3 steht, und ich die Taste "5" drücke, sollte das Zeichen, welches sich auf Position 4 befindet
durch das zeichen "5" ersetzt werden und der Cursor springt auf stelle 4.

So mein Wunsch zumindest. :stupid:

Weis jemand wass ich falsch mache und wenn ja, könnte mir derjenige das auch mitteilen?

gruß Teekeks

meimarbbg 19. Mai 2009 09:40

Re: Überschreibmodus Simulieren in Edit
 
Hallo,

vielleicht hilft Dir das weiter:

Überschreibmodus für TEdit

Viele Grüße
Markus

DP-Maintenance 19. Mai 2009 10:23

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.

Teekeks 19. Mai 2009 16:18

Re: Überschreibmodus Simulieren in Edit
 
Danke!
Das hat mir geholfen!

gruß Teekeks


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 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