![]() |
CursorPosition im Edit festlegen schlägt fehl...
Hallo!
Ich habe wiedereinmal ein Problem. Ich würde gerne das mein Cursor in einem Edit wieder an eine bestimmte stelle im Text springt. SelStart funktioniert nicht, da bei meiner Lazarus-Version man anscheinend noch keine Position setzen kann. Ich hab bis jetzt folgendes:
Delphi-Quellcode:
Wisst ihr wie ich da ranngehen soll?
procedure TMyDatumEdit.MyOwnKeyDown(var Key: Word);
begin // Zahlen 0..9: if (Key>=$30) and (Key<=$39) then exit else // Zahlen 0..9 auf dem Nummpat: if (Key>=$60) and (Key<=$69) then exit else // Enter: if (Key=$0D) then exit else // Clear-Taste: if (Key=$0C) then exit else // Tab: if (Key=$09) then exit else // Page-Down: if (Key=$28) then exit else // Esc: if (Key=$1B) then exit else // F1..F16: if (Key>=$70) and (Key<=$7F) then exit else // Backspace: if (Key=$08) then exit else // Dezimalpunkt: if (Key=$6C) then exit else // Pfeil Links und Rechts: if (Key=$25) or (Key=$27) then exit else // Tastendruck zurücksetzen: Key:=$00; end; procedure TMyDatumEdit.KeyDown(var Key: Word; Shift: TShiftState); begin MyOwnKeyDown(Key); DeleteChar(Key); inherited KeyDown(Key, Shift); end; procedure TMyDatumEdit.KeyUp(var Key: Word; Shift: TShiftState); var tmp:integer; amsg:TLMKey; begin inherited KeyUp(Key, Shift); if (Text[3]<>'.')then begin Text:=UTF8Copy(Text,1,2)+'.'+Text[3]+UTF8Copy(Text,5,5); // Hier würde ich gerne Den Cursor um 5 Zeichen zurücksetzen. // Meine lösung funktioniert nicht. (Result=false) amsg.CharCode:=$25; for tmp:=10 downto 5 do Showmessage(booltostr(DoKeyPress(amsg))+' '+char(amsg.CharCode)); end; end; procedure TMyDatumEdit.DeleteChar(Var Key:Word); begin if (Length(Text)=10) and (Key<>$00) and (Key<>$0D) and (Key<>$08) then begin // Überschreibmodus Simulieren: if (SelLength = 0) then SelLength:=1; end; end; gruß Teekeks |
Re: CursorPosition im Edit festlegen schlägt fehl...
Hat keiner eine Idee?
|
Re: CursorPosition im Edit festlegen schlägt fehl...
|
Re: CursorPosition im Edit festlegen schlägt fehl...
Ok.
Ich glaube ich hatte mich falsch ausgedrückt: Ich meinte die cared-Position und nicht die Cursor-Position( Dieser blinkende String in einem Editfeld) |
Re: CursorPosition im Edit festlegen schlägt fehl...
Lazarus Version, OS?
|
Re: CursorPosition im Edit festlegen schlägt fehl...
Linux, Suse9.1; Lazarus 0.9.24 Beta
|
Re: CursorPosition im Edit festlegen schlägt fehl...
*push* Hat keiner ´ne Idee?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 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-2025 by Thomas Breitkreuz