Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1163354184
Piter
2006-11-12 20:56
2006.12.03
Где купить хороший рюкзак?


15-1163250973
Сало
2006-11-11 16:16
2006.12.03
Не прошло и 15 лет...


15-1163497281
s_t_d
2006-11-14 12:41
2006.12.03
Проблема с платой Intel D-945 PLRN


2-1163715808
DoktorX
2006-11-17 01:23
2006.12.03
Как в масив добавить результат полученный с анализа изображения?


2-1163229279
#0FFFF
2006-11-11 10:14
2006.12.03
Иконка компонента





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский