Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Вниз

Как осуществить разлиновку строк в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.057 c
2-1174379186
zdm
2007-03-20 11:26
2007.04.08
Пути не исповедимы


15-1173783512
Redf
2007-03-13 13:58
2007.04.08
Как отключить ПРОЦЕССЫ, которые загружаются автоматически!


15-1174075693
SkySpeed
2007-03-16 23:08
2007.04.08
MathCad - трабл при запуске................. как решить проблему?


15-1173715498
zdm
2007-03-12 19:04
2007.04.08
TDBF


15-1174058986
oldman
2007-03-16 18:29
2007.04.08
Пожелай мне удачи в бою...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский