![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Вот часть кода:
PHP код:
Устанавливаю значение свойства Height < 17 (Строки не видно), переменная s2 пустая. Устанавливаю значение свойства Height = 0, в переменной s2 вообще бред какой-то. Почему так происходит? P.S. Delphi 2010 + Update 4/5 + Hotfix 2 + HelpUpdate 3 |
|
#2
|
||||
|
||||
|
Действительно странно... Возможно надо перерисовать компонент? послать ему сообщение на перерисовку?
|
|
#3
|
||||
|
||||
|
Перерисовка не помогает.
Я так понял, что если не видно хотябы одой строки в TMemo, то нарушается структура текста. Скорее всего это такой баг... |
|
#4
|
||||
|
||||
|
Цитата:
Скорей всего да. Я в 2009 тоже баги находил (при работе с ресурсами). Есть вариан данные сохранять в TstringList а потом просто Memo1.Lines.Assign(твой обйект) |
|
#5
|
|||
|
|||
|
Код:
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; |