Цитата(Romikgy @ 18.9.2006, 10:50 ) | покажи этот код |
| Код | procedure TMemoStrings.Insert(Index: Integer; const S: string); var SelStart, LineLen: Integer; Line: string; begin if Index >= 0 then begin SelStart := SendMessage(Memo.Handle, EM_LINEINDEX, Index, 0); if SelStart >= 0 then Line := S + #13#10 else begin SelStart := SendMessage(Memo.Handle, EM_LINEINDEX, Index - 1, 0); if SelStart < 0 then Exit; LineLen := SendMessage(Memo.Handle, EM_LINELENGTH, SelStart, 0); if LineLen = 0 then Exit; Inc(SelStart, LineLen); Line := #13#10 + s; end; SendMessage(Memo.Handle, EM_SETSEL, SelStart, SelStart); SendMessage(Memo.Handle, EM_REPLACESEL, 0, Longint(PChar(Line))); end; end;
|
|