Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
14-40677
kopcap
2003-09-23 15:19
2003.10.13
А где нахаляву моно свой сервак разместить ???


1-40353
Vemer
2003-10-01 13:24
2003.10.13
Как сделать функцию доступной везде?


4-40721
Onyx
2003-08-08 12:14
2003.10.13
КОНТЕКСТНОЕ МЕНЮ в контекстном меню!!!


1-40468
Vladimir
2003-10-02 10:56
2003.10.13
Как определить, содержит ли строка допустимый путь и имя файла


1-40461
victorbur
2003-10-02 16:40
2003.10.13
Окно дебагера CPU при запуске




   Наверх