Aldo,
Here is another useful function for a RichEdit control:
###########################################################################
# (@)METHOD:GetTextRange(START, LENGTH)
# Returns LENGTH bytes of text from the RichEdit control, starting at START
void
GetTextRange(handle,start,length)
HWND handle
LONG start
LONG length
PREINIT:
TEXTRANGE tr;
CHARRANGE cr;
char * text;
LRESULT count;
PPCODE:
ZeroMemory(&tr, sizeof(TEXTRANGE));
ZeroMemory(&cr, sizeof(CHARRANGE));
if(length < 0) length = 0;
if(start < 0) start = 0;
text = (char *) safemalloc(length+1);
cr.cpMin = start;
cr.cpMax = start+length;
tr.chrg = cr;
tr.lpstrText = text;
count = SendMessage(handle, EM_GETTEXTRANGE, 0, (LPARAM) (TEXTRANGE FAR *)
&tr);
EXTEND(SP, 1);
XST_mPV(0, text);
safefree(text);
XSRETURN(1);
Trevor S Garside
[EMAIL PROTECTED]