Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
ВнизСвой компонент контрола Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c