views:

327

answers:

2

How do I get the line number of a memo when I right click on it?

A ListBox has .ItemAtPos but I've not been able to find a similar function

-Brad

+1  A: 

Check CaretPos property.

da-soft
That only works when WordWrap=False
Remy Lebeau - TeamB
+6  A: 

In Delphi 2010, TRichEdit has an ActiveLineNo property. Not sure if it exists in Delphi 2009.

The manual way to get the line number is to send the Memo an EM_LINEFROMCHAR message with the WParam value set to -1, ie:

LineNo := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, -1, 0);

Or:

LineNo := Memo1.Perform(EM_LINEFROMCHAR, -1, 0);
Remy Lebeau - TeamB
manual way Works perfectly for what I need!
Brad