Need help with TRichEdit

Is there a way to get the character index of the top left corner and bottom right corner of the TRichEdit Client Rectangle?

I'm using Delphi 3.0 for my development

Thanks in Advance
Ermac
ermacAsked:
Who is Participating?
 
JimBob091197Connect With a Mentor Commented:
Hi

You use the EM_CHARFROMPOS message.

E.g.  For top left:
var
  ChPos: DWord;
  ChIx: Word;
begin
  ChPos := SendMessage(MyRichEdit.Handle, EM_CHARFROMPOS, 0, MakeLParam(1, 1));
  ChIx := LoWord(ChPos);
  Etc...
end;

Thus, to get character at top left:
  TopLeftCh := Copy(MyRichEdit, ChIx + 1, 1);


(My riched32.dll appears to cause an access violation if invalid coordinates are given...)

Regards,
JB
0
 
ermacAuthor Commented:
It doesn't return me the correct character index and I can't get the character index of the bottom right also (It gives me an access violation)

Any ideas?
0
 
JimBob091197Commented:
Mmm...  I think this API call is buggy.  I have heard from a colleague that he also couldn't get it to work properly.  (Mine did work, though, for the top-left char index.  Are you using different fonts?  I tried with default font only.)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.