![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить строку в Memo
}|{yk © (2004-06-15 17:16:00)Через SendMessage?
panov (2004-06-15 18:36:00) [1]>Piter © (15.06.04 18:25) [16]
>Piter © (15.06.04 18:26) [18]
Вопрос задается в поле, предназначенном для этого.
В теме пишется кратко содержание.
Пример для этого топика:
Тема: Работа с TMemo - добавление строки.
Вопрос: Как добавить строку в TMemo, используя SendMmssage;
Piter (2004-06-15 18:26:00) [2]}|{yk (15.06.04 17:16)
Через SendMessage?
надо было писать без знака вопроса
TUser (2004-06-15 18:25:00) [3]
> }|{yk
Ты зря обижаешься. Вопрос действительно сформулирован не так понятно, как ты думаешь. Я например его понял так: "Как добавить строку. Через sendMessage или еще как-то?"
Piter (2004-06-15 18:25:00) [4]Очевидно, если посмотрим VCL:
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;
panov (15.06.04 17:42) [11]
Ты определись, где у тебя вопрос звучит, в теме или в поле для вопроса
не понимаю. Вопрос звучит в теме, а в поле вопроса идет уточнение. Разве не так надо задавать вопросы?
}|{yk (2004-06-15 17:56:00) [5]Да понятно. Потому я и спрашиваю, как строку добавить?
Anatoly Podgoretsky (2004-06-15 17:48:00) [6]Ну вот еще и обругал напоследок.
Clickmaker (2004-06-15 17:47:00) [7]
> }|{yk © (15.06.04 17:41) [10]
> Ага
> А может
> SetWindowText(memNodes.Handle, '');
> тоже правильный?
Неправильный. Так ты заменишь все содержимое
}|{yk (2004-06-15 17:46:00) [8]Ну ладно. Раз никто не знает... Для решения локальной задачи хватает SetWindowText. А там почитаем MSDN
panov (2004-06-15 17:42:00) [9]>}|{yk © (15.06.04 17:21) [2]
Ты определись, где у тебя вопрос звучит, в теме или в поле для вопроса.
Тема: Как добавить строку в Memo
Вопрос: Через SendMessage?
}|{yk (2004-06-15 17:41:00) [10]Ага
А может
SetWindowText(memNodes.Handle, '');
тоже правильный?
Sandman25 (2004-06-15 17:36:00) [11][7] }|{yk © (15.06.04 17:32)
Тогда чего обижаться. В [1] Clickmaker © (15.06.04 17:19) был правильный ответ.
Anatoly Podgoretsky (2004-06-15 17:34:00) [12]Ну и что тогда ты поймешь в ответах на глупые вопросы?
}|{yk (2004-06-15 17:32:00) [13]Так у меня ж значка нету, я могу и глупые вопросы задавать
Sandman25 (2004-06-15 17:30:00) [14][5] }|{yk © (15.06.04 17:28)
А исходников тоже нет? Чтобы посмотреть реализацию Memo.Lines.Add...
Мастер :)
}|{yk (2004-06-15 17:28:00) [15]Вопрос - какое сообщение нужно послать Memo, чтобы вытереть его; добавить строку etc. MSDN под рукой у меня нет
А то Memo.Lines.Add. Мастер...
Anatoly Podgoretsky (2004-06-15 17:25:00) [16]}|{yk © (15.06.04 17:21) [2]
А чего тебя в ответах не устраивает?
grom (2004-06-15 17:23:00) [17]memo1.Lines[1]:=
}|{yk (2004-06-15 17:21:00) [18]Очень интересно :)
Я б сказал... Может все сообщение прочитаем?
Clickmaker (2004-06-15 17:19:00) [19]Memo.Lines.Add