Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Число строк текста в видимой области RichEdit


perseptron ©   (2003-02-11 15:33:00) 

Как подсчитать сабж? (для случаев с одинаковой и с различной высотой шрифта)


MBo   (2003-02-12 14:26:00) [1]

uses richedit


perseptron   (2003-02-12 13:39:00) [2]

Делфи выдает Undeclared identifier: "EM_EXCHARFROMPOS" ( и действительно в winSDK help он есть, а в модуле Messages он почемуто не описан???) посему пришлось использовать EM_CHARFROMPOS (с ним все работает, спасибо за функцию). И еще зачем RE.ClientHeight -2(пробовал +2 никакой разницы)


MBo   (2003-02-11 17:55:00) [3]

если уж в лом самому разобраться, держи

function GetRichEditVisibleLinesCount(RE:TRichEdit):Integer;
var
p:tpoint;
begin
p:=point(2, RE.ClientHeight-2);
Result:=SendMessage(Re.Handle,EM_EXLINEFROMCHAR,0,
SendMessage(RE.Handle,EM_CHARFROMPOS,0,Integer(@p)))-
SendMessage(RE.Handle,EM_GETFIRSTVISIBLELINE,0,0);
end;


perseptron   (2003-02-11 17:39:00) [4]

Я тут поискал... короче, с помощью EM_GETFIRSTVISIBLELINE я могу найти первую видимую строку, с помощью EM_GETLINECOUNT количество всех строк, а поскольку у меня в програме должно выполнятся условие: - последняя строка в видимой области = последней строке в всем Edit"e то можна подсчитать сабж. Я прав?
Но куда пихать ети EM_*** ? Я раньше никогда с ними не работал.
Подскажи хоть что читать если уж в лом дать конкретный ответ (хорошо бы с экзамплами, ато в WinSDK Help чето с этим не густо)


perseptron   (2003-02-11 17:00:00) [5]

Кучу слабо сказано. Ну ладно... увидимся на форуме через месяц (я пошел читать).


MBo   (2003-02-11 16:13:00) [6]

WinSDK Help
набираешь em и видишь кучу сообщений, читаешь все, выбираешь нужное.


perseptron   (2003-02-11 15:58:00) [7]

Извини MBo, но если б я знал как ЭТО искать я бы не задавал вопрос. Обьясни пожалуста по-подробнее.


MBo   (2003-02-11 15:47:00) [8]

С помощью EM_*** сообщений найти номер первой видимой строки,
номер символа в левом нижнем углу и найти номер строки, содержащщй его, т.е. нижней.


Наверх

Титульная страница Поиск, карта сайта Написать письмо