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

Вниз

Свой компонент контрола   Найти похожие ветки 

 
DNSokol ©   (2003-10-01 17:33) [0]

Собственно никогда не делал нижеописанное, а поэтому нужен халп. Итак, нусно сделасть свой контрол, который бы рисовался на модифицированном TPanel - TMPanel, причем мог перемещаться (ну с перемещением проблем нет - планирую перехватывать сообщения мыши и если нажат буттон, то TMPanel.Perform (...)) по этой панели и растягиваться, если его потянуть за край (как окошко). интересно следующее:
1. От чего лучше наследоваться (TControl, TGraphigControl или что то ещё)
2. Куда вещается механизм отрисовки (грубо: нарисовать прямоугольник синего цвета с чёрными краями, за которые можно цепляться и растягивать этот прямоугольник)
3. Куда проверку затолкать, что если owner"ом является не TMPanel, а что то другое? Есть предположение, что в Create это засунуть... непонятно одно - если это будет происходить в IDE Delphi - этот креат отработает и заявит узеру - что не туда тыкаем - или нет?


 
Skier ©   (2003-10-01 17:41) [1]

Не парься. :)
Component TStretchHandle [D1..D5]
http://www.micrel.cz/delphi/index_e.html


 
DNSokol ©   (2003-10-01 19:12) [2]

мне тот компонент не подходит :( да и если самому сделать то оно как то лучше :)


 
Rem ©   (2003-10-01 19:25) [3]

1. TGraphicControl
2. Переформулируй
3. Заявит-заявит! Только не в Create, потому что Owner - это не то, что тебе надо. Тебе надо Parent, поэтому в SetParent.


 
DNSokol ©   (2003-10-01 22:03) [4]

TO Rem Пасиба.
по поводу 2. Я создал контрол. Куда нужно подвесить отрисовку этого контрола? Т.е. он у меня воткнулся, далее какое событие вызывается что бы нарисовать этот контрол? (WM_PAINT?) или нужно переопределять что-то другое? Ещё - нужно ли запоминать ту картинку, которая находится под контролом (т.е. при перемещении, восстанавливать, что было под ним, потом запоминать картинку на вовом местоположении, после чего себя там рисовать? или винда это на себя возьмёт)? По поводу подвешивания на WM_PAINT есть сомнения т.к. это событие я могу допустим переопределит у формы, но она всё равно отрисовывается.... вот и интересно - где же именно (т.е. в какой процедуре и на какое событие подвешенной) производить рисование своего контрола. Есть еще предположение переопределить метод Paint родителя(???).
И еще в дагонку - посмотрел - у TGraphicControl нету эвента OnMouseMove, OnClick, etc. как это туда привентить?



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
1-40462
gregz
2003-10-02 16:25
2003.10.13
Русификатор


3-40242
GSV_
2003-09-24 10:51
2003.10.13
ADOCommand.Execute: сколько RecordsAffected


1-40383
lovres
2003-10-01 10:53
2003.10.13
Подскажите простой бесплатный компонент для экспорта в Excel .


4-40750
Dolf
2003-08-08 22:07
2003.10.13
Edit в Html страницах


1-40426
KSergey
2003-10-03 07:25
2003.10.13
Как отображать выделение в неактивном Memo?