Here are two functions that will be very usefull (but win32 only).
Maybe these will help you
Function TextAreaFirstVisibleLine:Int(TextArea:TGadget) Local hwnd=QueryGadget(TextArea,QUERY_HWND) If hwnd Return SendMessageA(hwnd,EM_GETFIRSTVISIBLELINE,0,0) End Function Function GetlastVisibleLine:Int(Richedit:TGadget,font:TGuiFont) Local H:Int = GadgetHeight(richedit) Local F:Int = bbFontHeight(font.Handle) Local Ht:Float = (H/F) Return TextAreaFirstVisibleLine(richedit)+Ht End Function
Maybe these will help you