Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Динамическое событие |
Автор: Поручик 29.7.2005, 21:46 |
Всем привет!!!! Имеется следующий вопрос - class test { protected: TButton *Btn; public: test(); void OnClick(TObject *Sender) }; Вопрос: Как назначить указателю Btn событие OnClick? |
Автор: Vyacheslav 1.8.2005, 11:44 | ||
|
Автор: Поручик 9.8.2005, 17:04 |
Это-то понятно, Вячеслав, но ты не выделил кнопке память, а если создать вторую кнопку и назначить по нажатию первой её исчезновение class test { public: TPanel *P; TButton *Btn1; TButton *Btn2; protected: test(TPanel *); void initial(void); void initbtn(TButton *); void __fastcall OnClick(TObject *Sender); }; test::test(TPanel *P) { this->P=P; } void test::initial() { initbtn(Btn1); initbtn(Btn2); Btn1->OnClick=OnClick; } void test::initbtn(TButton *B) { B=new TButton(P); B->Parent=P; } void __fastcall test::OnClick(TObject *Sender) { Btn2->Visible=false; } Функция initial() вызывается к примеру в конструкторе формы после создания объекта класса. Form1::Form1() { test T(Panel1); T->initial(); } Если всё делать так, то происходит ошибка ![]() Помоги разобраться. |
Автор: Mal Hack 9.8.2005, 17:09 |
как бы в продолжение темы... ![]() http://forum.vingrad.ru/index.php?showtopic=60623 |
Автор: Guest 15.8.2005, 09:08 | ||||||
Тогда корректно задавай вопросы Был вопрос:
А оказалось - необходима консультация по слзданию кнопок Вот здесь ошибка
Указатель на кнопку передается по значению и следовательно твое новое значение никуда не передается из функции. Сделай хотя бы так
|
Автор: Vyacheslav 15.8.2005, 09:09 |
Последний пост мой |
Автор: Artemon 19.8.2005, 10:25 | ||
Вродебы Поручик делает все верно, почему передается значение? Объясни пожалуйста. |
Автор: Hroft 19.8.2005, 16:46 |
Передается указатель на кнопку. ЛОКАЛЬНАЯ КОПИЯ этого указателя изменяется, выделяется новая память, которая потом теряется, кстати, а кнопка остается старой. |