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

Вниз

Как осуществить разлиновку строк в TMemo ???   Найти похожие ветки 

 
timself ©   (2007-02-14 00:40) [0]

Господа, прошу помощи в решении следующей задачи:

Как осуществить линовку строк (как в тетради для письма) в TMemo?
В пакете LMD есть TLMDMemo с линовкой, но у него один недостаток: прокрутка за scroll bar происходит не в реальном времени, а после того как отпустите кнопку мыши - это мне не подходит совершенно. Подскажите, как быть?

LMDшники для линовки использовали некую функцию, но ее выдернуть сам я не могу, там странная цепь наследований.
Вот прямая ссылка на файл LMDCustomMemo.pas . Именно в нем сидит свойство Lined.

http://mail.ngs.ru/~softbaza1/LMDCustomMemo.rar    -  18 kb.

Взгляните кто-нибудь, плиз.


 
Сергей М. ©   (2007-02-14 09:44) [1]


> timself ©   (14.02.07 00:40)


> Как осуществить линовку строк (как в тетради для письма)
> в TMemo?


А зачем ? Что за блажь - именно в TMemo ?
В том самом LMD компонент TLMDMemo не имеет ни малейшего отношения к TMemo - он есть непрямой наследник TCustomControl, про который в справке сказано:

Base class for controls that wrap Windows screen objects but perform their own rendering.


Так что нет никакой "странной цепи наследования", все логично и закономерно - TLMDMemo создает окно пользовательского оконного класса и напрямую рисует все что нужно в контексте этого окна, включая "линовку". А уж насколько корректно и удобно он это делает - это совсем другой вопрос.


 
Piroxyline ©   (2007-02-14 13:52) [2]

Расшифровываю: отлавлиавай WM_PAINT и отрисовывай сетку ручками на канве (канву создай мемосу и поставь Handle в GetDC(Self.Handle))


 
Piroxyline ©   (2007-02-14 13:52) [3]

Расшифровываю: отлавлиавай WM_PAINT и отрисовывай сетку ручками на канве (канву создай мемосу и поставь Handle в GetDC(Self.Handle))


 
timself ©   (2007-02-15 00:10) [4]

А может проще исправить прокрутку в LMDэшном Memo? Она там наследуется от TLMDSBar (очень кривой). Может можно приделать как-нибудь стандартный ScrollBar без BMP-фонов и прочих тормозов?


 
Германн ©   (2007-02-15 01:07) [5]


> timself ©   (15.02.07 00:10) [4]
>
> А может проще исправить прокрутку в LMDэшном Memo?

Может и проще. Но сам пойми, никому кроме тебя это, скорее всего, не нужно. Попытайся сам исправить. А уж если в процессе исправлений возникнут конкретные проблемы и вопросы, тогда уж и обращайся.


 
TStas ©   (2007-02-15 23:05) [6]

>Piroxyline ©  Я вот создавал эксперимента ради Меме канву, рисовать на ней, знамо дело, можно, но надо Scroll ловить, иначе противно получается. Создавал
Canvas := TCanvas.Create;
Canvas.Handle := GetDC(Handle);



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
6-1161440921
jimy
2006-10-21 18:28
2007.04.08
ICS, TWSocket


15-1173935832
vajo
2007-03-15 08:17
2007.04.08
Microsoft рекомендует красть Windows


10-1131006759
Misha_00
2005-11-03 11:32
2007.04.08
Передать имя пользователя чере сервер приложений в базу


6-1161544337
Axis_of_Evil
2006-10-22 23:12
2007.04.08
TWSocket


1-1171322960
Makhanev Alexander
2007-02-13 02:29
2007.04.08
Разделение UI по формам...