function TForm1.GetSendText(RichEdit: TExRichEdit): string; var MsgListInfo: TStrings; i, m, n: integer; x, y: LongInt; WideStr: WideString; begin Result := ''; MsgListInfo := RichEdit.Lines; Y := SendMessage(RichEdit.Handle, EM_LINEFROMCHAR, MsgList.SelStart, 0); //得到rich光标所在行与列 X := RichEdit.SelStart - SendMessage(RichEdit.Handle, EM_LINEINDEX, Y, 0); if RichEdit.SelLength = 0 then begin for i := y downto 0 do begin m := Pos('[', MsgListInfo.Strings[i]); n := Pos(']', MsgListInfo.Strings[i]); if (m = 1) and (n = 21) then begin Result := Copy(MsgListInfo.Strings[i], m + 1, n - 2); Break; end; end; end else begin WideStr := MsgListInfo.Strings[y]; Result :=Copy(WideStr, x + 1, RichEdit.SelLength); end; end; |
|
来自: 博览网文 > 《richedit相关》