Показать сообщение отдельно
  #5  
Старый 25.09.2010, 22:40
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Код:
TMemo = class(TCustomMemo)
...
end;

...

constructor TCustomMemo.Create(AOwner: TComponent);
begin
...
  FLines := TMemoStrings.Create;
  TMemoStrings(FLines).Memo := Self;
...
end;

...

TMemoStrings = class(TStrings)
  private
    Memo: TCustomMemo;
protected
    function Get(Index: Integer): string; override; // Это функция, которая достает значение свойства Strings[i]
...
end;

function TMemoStrings.Get(Index: Integer): string;
var
  Text: array[0..4095] of Char;
begin
  Word((@Text)^) := SizeOf(Text);
  SetString(Result, Text, SendMessage(Memo.Handle, EM_GETLINE, Index,
    Longint(@Text)));
end;
Ответить с цитированием