Главная страница
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.015 c
3-40268
Aleksey V.P.
2003-09-22 10:33
2003.10.13
Null значения в поля таблицы (D5, D6, D7, ADO, dBase IV)


14-40572
Игорь Шевченко
2003-09-23 13:38
2003.10.13
Ищется антиквариат


6-40547
pavel_guzhanov
2003-08-15 13:31
2003.10.13
Сервер и клиент при помощи Indy


4-40731
Viking
2003-08-08 10:43
2003.10.13
Как получить список процедур из DLL?


7-40702
Mitya_M
2003-07-25 17:11
2003.10.13
Использование Delphi приложений с > 2Gb памяти?