Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
ВнизДинамическое создание объектов Найти похожие ветки
← →
Димыч © (2006-11-14 13:09) [0]На главной форме я динамически создаю несколько объектов (одного типа Timage, они имитируют красочные кнопки, при навидении на них мыши подсвечиваются и тд), все эти объекты храняться в массиве, им на события OnmouseMave OnmouseDown OnmaouseUp я привязываю функции которые являются частью главной формы (может не правильно выразился, вообщем функции TForm1. ...), вопрос такой у меня можно ли один из объектов поместить на другой форме (не главной) и будет ли у такого объекта правильно работать указанные события.
Спрашиваю потому, что сделал так и у меня такой объект не реагирует на мышь, может это конечно ошибка с моей стороны, если нет то объясните пожалуйста почему так происходит.
← →
Сергей М. © (2006-11-14 13:10) [1]
> может это конечно ошибка с моей стороны
Конечно с твоей, и сомнений не может быть никаких
← →
KilkennyCat © (2006-11-14 13:16) [2]чужой объект - чужое событие.
← →
Димыч © (2006-11-14 13:29) [3]
> чужой объект - чужое событие.
Что-то не понял, объект чужойй - потому что на другой форме (не главной), а что значити чужое событие
← →
clickmaker © (2006-11-14 13:45) [4]
> вопрос такой у меня можно ли один из объектов поместить
> на другой форме (не главной) и будет ли у такого объекта
> правильно работать указанные события.
> Спрашиваю потому, что сделал так
а как сделал-то?
← →
Димыч © (2006-11-14 13:52) [5]neon_buttons [1].img:=timage.Create(form1);
Вот так добавляется объект на главной форме, происходит это по событию OnCreate главной же формы...
neon_buttons [1].img.parent:=form1;
neon_buttons [1].img.height :=20;
neon_buttons [1].img.width :=46;
neon_buttons [1].img.top :=0;
neon_buttons [1].img.left :=form1.ClientRect.Right-56;
neon_buttons [1].img.Anchors :=[akRight,aktop];
neon_buttons [1].img.picture:=neon_buttons [1].normal;
neon_buttons [1].img.tag :=1;
neon_buttons [1].img.onmousemove := neon_move;
neon_buttons [1].img.onmousedown := neon_down;
neon_buttons [1].img.onmouseup := neon_up;
neon_buttons [1].img.onclick := neon_click;
neon_buttons [1].img.enabled:=true;
neon_buttons [1].img.visible:=true;
Вот так на другой форме...
neon_buttons [8].img:=timage.Create(self);
neon_buttons [8].img.parent:=form5;
neon_buttons [8].img.height :=20;
neon_buttons [8].img.width :=46;
neon_buttons [8].img.top :=0;
neon_buttons [8].img.left :=form5.ClientRect.Right-56;
neon_buttons [8].img.Anchors :=[akRight,aktop];
neon_buttons [8].img.picture:=neon_buttons [8].normal;
neon_buttons [8].img.tag :=8;
neon_buttons [8].img.onmousemove := form1.Neon_move;
neon_buttons [8].img.onmousedown := form1.neon_down;
neon_buttons [8].img.onmouseup := form1.neon_up;
neon_buttons [8].img.onclick := form1.neon_click;
neon_buttons [8].img.enabled:=true;
neon_buttons [8].img.visible:=true;
Вообщем только что поэксперементировал оказалось что действительно все работает, проблема в том что я не правильно обрабатываю событие WM_NCHITTEST, что именно я делаю не правильно непоюму, уже создал торой вопрос по этому поводу
← →
Димыч © (2006-11-14 13:53) [6]На другой форме (Form5) объект так же добавляется по событию OnCreate но только формы Form5
← →
Димыч © (2006-11-14 13:59) [7]Если отключаю свою обработку сообщения WM_NCHITTEST, то все работает, если влючаю Timage перестает реагировать на мышь.
← →
Димыч © (2006-11-14 14:10) [8]Искренне извеняюсь за беспокойство, ошибка была в том что в обработке сообщения WM_NCHITTEST формы Form5 не поставил inherited.
← →
StriderMan © (2006-11-14 16:02) [9]
> neon_buttons [8].
и это для каждого контрола???
а в цикле никак? код какой-то чудовищный получается.
хотя бы используй оператор with
← →
MsGuns © (2006-11-14 20:39) [10]>Димыч © (14.11.06 13:52) [5]
Осподи, ужасть то какая Э8(Е)
Надо же было на ночь такое увидеть !
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c