AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Überschreibmodus für TEdit

Ein Thema von HappyJoe · begonnen am 27. Mär 2009 · letzter Beitrag vom 27. Mär 2009
Antwort Antwort
HappyJoe

Registriert seit: 14. Nov 2006
37 Beiträge
 
Delphi XE2 Professional
 
#1

Überschreibmodus für TEdit

  Alt 27. Mär 2009, 11:26
Hi zusammen,

wie kann ich den Überschreibmodus von einem TEdit (z.B. im OnEnter) aktivieren? Also Text ist „ABC“ und ich drücke X, so muss „XBC“ rauskommen. Klar kann ich im OnChange oder OnKeypressed das „A“ löschen aber geht das nicht einfacher?
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Überschreibmodus für TEdit

  Alt 27. Mär 2009, 12:17
TEdit kapselt ja nur das Windows-Edit, und das kann out of the box keinen Überschreibmodus. Ich hab das in einem Fall so gelöst:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  AEdit: TEdit;
begin
  Assert(Sender is TEdit);
  case Key of
    ' '..#126, #128..#255:
      begin
        AEdit := TEdit(Sender);
        if OverwriteMode and (AEdit.SelLength = 0) then
          AEdit.SelLength := 1;
        if (AEdit.SelLength > 0) and (AEdit.SelText[1] = #13) then
          AEdit.SelLength := 2;
      end;
  end;
end;

procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
  if Msg.CharCode = VK_INSERT then
  begin
    OverwriteMode := not OverwriteMode;
    Handled := True;
  end;
end;
Die OnKeyPress-Routine stammt WIMRE von Peter Below. Das Zeug mit #13 dürfte wohl nur für Memos interessant sein.

HTH,
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
HappyJoe

Registriert seit: 14. Nov 2006
37 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Überschreibmodus für TEdit

  Alt 27. Mär 2009, 12:50
Hallo uligerhardt,

danke für die schnelle Antwort. Die Idee gefällt mir gut, da auch so der Cursor deutlicher wird.
Also nochmals DANKE!

Gruß Joe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz