Как задать Onclick для своей кнопки?

  • Автор темы Автор темы MaksimCNG
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
M

MaksimCNG

Здраствуйте. Это мой первый пост. Давно читаю форум, но только сегодня решил задать возможно как Вас покажется глупый вопрос. Я не спец, а всего лишь начинающий в этой среде :unsure:
Суть проблеммы:
Пишу прогу по удалённому управлению реестром, всё было бы хорошо, если не такое огромное количество эллементов на форуме, что не сволсем удобно. В итоге решил создавать эллементы путём описания каждого. Элементы созадть могу, а вот обработчик событий OnClick не поддаётся, не хочет работать и всё. Подскажите пожалуйста как правильно задать OnClick, чтоб при нажатии на радиобаттон, происходили какие либо действия.

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

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

Как сдлеать чтоб при нажатии на кнопку происходили какие либо действия? Подскажите если кто знает :)
 
Хм ... в дизайнере я вижу следующее
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();

Я хотябы в верном направлении? :)
Button1->OnClick = Button1Click(TObject *Sender)
{
Label1->Caption="Privet";
}
 
Я хотябы в верном направлении?
Ну сравнивая мои и ваш вариант, разве не видите различия?
Хм ... в дизайнере я вижу следующее
Это реализация, еще есть определение, ищите в класе.

TRadioButton * Button1 = new TRadioButton(Application);
Это тоже не гуд.
 
Разницу, вижу ... сейчас ещё форум почитаю ... может что с функциях найду )

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

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

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

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

И в форме следующая приблуда :)

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

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


Здесь есть доли правды? :) Или это моменты утреннего бреда? :)
 
ButtonMR->OnClick = MyOnClick(что - то не достигнутое моим разумом);
см. Сообщение #2
MyOnClick(что здесь писать пока не понял);
см. Сообщение #5

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

Если есть ссылки на документацию которая мне может помочь
см. F1
 
Всем спасибо, решил этот вопрос. Выкидываю ответ, так как выше он получен небыл. Вдруг кому помогу :)

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

#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 - работает");
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!