Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.24;
Скачать: CL | DM;

Вниз

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

 
perseptron   (2003-02-11 15:33) [0]

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


 
MBo ©   (2003-02-11 15:47) [1]

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


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

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


 
MBo ©   (2003-02-11 16:13) [3]

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


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

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


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

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


 
MBo ©   (2003-02-11 17:55) [6]

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

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-12 13:39) [7]

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


 
MBo ©   (2003-02-12 14:26) [8]

uses richedit



Страницы: 1 вся ветка

Текущий архив: 2003.02.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
8-76036
Luc
2002-11-10 23:23
2003.02.24
Градиент на BMP


14-76081
Nick_N_A
2003-02-01 06:06
2003.02.24
Таблица секций в Exe-шники


3-75802
Sour
2003-02-06 13:19
2003.02.24
Как уменьшить рамер БД (Interbase).


3-75836
skirdov
2003-02-06 20:47
2003.02.24
ODBC


8-76035
Klirik
2002-11-08 17:11
2003.02.24
Сохранение в формат фотошопа