Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Overwrite in TMemo and TEdit


How can I get the TEdit and TMemo controls to have a overwrite capability?   

    The Windows TEdit and TMemo controls have no overwrite capability. It is possible to emulate this behavior however, by setting the SelLength property of the edit or memo control to one during the processing of the KeyPress event. This causes the character at the current position of the caret to be overwritten. The following example demonstrates emulation of an overwrite capability of a TMemo component. The state of the overwrite mode can be toggled by pressing the insert key. Example:

    type
      TForm  = class(TForm)
        Memo : TMemo;
        procedure Memo KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure Memo KeyPress(Sender: TObject; var Key: Char);
      private
        { Private declarations }
        InsertOn : bool;
      public
        { Public declarations }
      end;
    var
      Form : TForm ;

    implementation

    {$R *.DFM}

    procedure TForm .Memo KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_INSERT) and (Shift = ;]) then InsertOn := not InsertOn; end;

    procedure TForm .Memo KeyPress(Sender: TObject; var Key: Char); begin if ((Memo .SelLength = 0) and (not InsertOn)) then Memo .SelLength := ; end;

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use