Contributor: R.F.P. VAN RIET


unit Memos;

interface

uses WinProcs, SysUtils, StdCtrls, Dialogs, Message;

{ Get the line number and column number the cursor is positioned at in the
memo}

Procedure GetMemoLineCol (Memo: TCustomMemo; var MemoLine, MemoCol:
Integer);

{ Set the cursor position in a memo to the specified line and column }

Procedure MemoCursorTo (Memo: TCustomMemo; MemoLine, MemoCol: Integer);

Implementation

Procedure GetMemoLineCol;
begin
   WITH Memo DO
      BEGIN
         MemoLine := SendMessage (Handle, EM_LINEFROMCHAR, SelStart, 0);
         MemoCol  := SelStart - SendMessage (Handle, EM_LINEINDEX, MemoLine,
                      0) + 1;
      END;
end;

Procedure MemoCursorTo;
begin
   Memo.SelStart := SendMessage (Memo.Handle, EM_LINEINDEX, MemoLine, 0) +
                   MemoCol - 1;
end;


Ronan van Riet

Graaf Florishof 4
3632 BS Loenen a/d Vecht
The Netherlands
0294-233563