Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как задать Onclick для своей кнопки?
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
MaksimCNG
Здраствуйте. Это мой первый пост. Давно читаю форум, но только сегодня решил задать возможно как Вас покажется глупый вопрос. Я не спец, а всего лишь начинающий в этой среде smile.gif
Суть проблеммы:
Пишу прогу по удалённому управлению реестром, всё было бы хорошо, если не такое огромное количество эллементов на форуме, что не сволсем удобно. В итоге решил создавать эллементы путём описания каждого. Элементы созадть могу, а вот обработчик событий OnClick не поддаётся, не хочет работать и всё. Подскажите пожалуйста как правильно задать OnClick, чтоб при нажатии на радиобаттон, происходили какие либо действия.

В качестве наглядного примера напишу часть своей работы.

TRadioButton * Button1 = new TRadioButton(Application); // определил радио кнопку
Button1->Parent=Form1; // сказал что родительно форма
Button1->Caption="Запретить"; // задал имя для кнопки
Button1->Left=5; // отступ слева
Button1->Top=20; // отступ сверху
Button1->Show(); // показать кнопку на форме

Как сдлеать чтоб при нажатии на кнопку происходили какие либо действия? Подскажите если кто знает smile.gif

etc
Цитата(MaksimCNG @ 3:05:2008 - 07:11) *
В итоге решил создавать эллементы путём описания каждого.

В вашем случае - смысла нет никакого.
Цитата(MaksimCNG @ 3:05:2008 - 07:11) *
Как сдлеать чтоб при нажатии на кнопку происходили какие либо действия?

Button1->OnClick = MyOnClick;
MaksimCNG
Цитата
В вашем случае - смысла нет никакого.

Так уж получилось smile.gif В виду того, что опыта не достаточно.
Цитата
Button1->OnClick = MyOnClick;

MyOnClick он как - то отдельно описывается?

Спасибо! smile.gif
etc
Цитата(MaksimCNG @ 3:05:2008 - 08:18) *
MyOnClick он как - то отдельно описывается?

Точно также, как если бы вы делали через дизайнер.
MaksimCNG
Хм ... в дизайнере я вижу следующее
Цитата
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{

}


а у меня

Цитата
TRadioButton * Button1 = new TRadioButton(Application);
Button1->Parent=Form1;
Button1->Caption="Название кнопки";
Button1->Left=5;
Button1->Top=20;

Button1->OnClick = *вот в этом месте и возникают трудности*
Button1->Show();


Я хотябы в верном направлении? smile.gif
Цитата
Button1->OnClick = Button1Click(TObject *Sender)
{
Label1->Caption="Privet";
}
etc
Цитата(MaksimCNG @ 3:05:2008 - 08:58) *
Я хотябы в верном направлении?
Ну сравнивая мои и ваш вариант, разве не видите различия?
Цитата(MaksimCNG @ 3:05:2008 - 08:58) *
Хм ... в дизайнере я вижу следующее

Это реализация, еще есть определение, ищите в класе.

Цитата(MaksimCNG @ 3:05:2008 - 08:58) *
TRadioButton * Button1 = new TRadioButton(Application);

Это тоже не гуд.
MaksimCNG
Разницу, вижу ... сейчас ещё форум почитаю ... может что с функциях найду )

Если есть ссылки на документацию которая мне может помочь, подскажите пожалуйста. smile.gif Неужели никто с такой проблемой не сталкивался, или он настолько приметичвна, что её даже не расматривали? )))

Как я понял, нужно задавать функцию, например, после

Цитата
TForm1 *Form1;
MyOnClick(что здесь писать пока не понял);

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
MyOnClick(аналогично, пока в процессе вкуривания)
{
код, который будет выполнен при нажатии на кнопку
}


И в форме следующая приблуда smile.gif

Цитата
TRadioButton * ButtonMR = new TRadioButton(Application);
ButtonMR->Parent=Form1;
ButtonMR->Caption="кукусики";
ButtonMR->Left=5;
ButtonMR->Top=20;

ButtonMR->OnClick = MyOnClick(что - то не достигнутое моим разумом);
ButtonMR->Show();



Здесь есть доли правды? smile.gif Или это моменты утреннего бреда? smile.gif
etc
Цитата(MaksimCNG @ 3:05:2008 - 09:57) *
ButtonMR->OnClick = MyOnClick(что - то не достигнутое моим разумом);

см. Сообщение #2
Цитата(MaksimCNG @ 3:05:2008 - 09:57) *
MyOnClick(что здесь писать пока не понял);

см. Сообщение #5

сложить эти два поста и будет то что надо, только думать!

Цитата(MaksimCNG @ 3:05:2008 - 09:57) *
Если есть ссылки на документацию которая мне может помочь

см. F1
MaksimCNG
Всем спасибо, решил этот вопрос. Выкидываю ответ, так как выше он получен небыл. Вдруг кому помогу smile.gif

Нужно объявить здесь
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
...
...
...
void __fastcall MyClickRButton13(TObject *Sender);
private: // User declarations
public: // User declarations


__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

Потом создаём свой эллемент на форме
например:
TRadioButton * RButton2 = new TRadioButton(Application);
RButton2->Parent=Group;
RButton2->Caption="name";
RButton2->Left=100;
RButton2->Top=20;
RButton2->OnClick=MyClickRButton13;
RButton2->Show();

И добавить сам обработчик
void __fastcall TForm1::MyClickRButton13(TObject *Sender)
{
//здесь Ваши события
//например
//Memo1->Lines=Add("Радио кнопка 13 - работает");
}
sax_ol
Цитата(MaksimCNG @ 9:05:2008 - 08:47) *
Выкидываю ответ, так как выше он получен небыл.
Ну и зачем обманывать? вам сразу же сказали как, а то что вы думать не хотите, ну так это сугубо ваши тараканы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2008 IPS, Inc.