Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Как задать Onclick для своей кнопки?, Button1->OnClick (?)
MaksimCNG
Вставить ник
сообщение 3:05:2008, 05:11
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 6
Регистрация: 3:05:2008
Пользователь №: 17 009
Специализация: Турист



Репутация: - 0 +


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

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

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

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

Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 9)
etc
Вставить ник
сообщение 3:05:2008, 05:25
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 89
Регистрация: 5:06:2007
Пользователь №: 11 234



Репутация: - 1 +


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

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

Button1->OnClick = MyOnClick;

Сообщение отредактировал etc - 3:05:2008, 05:38
Подняться вверх 
 
Сообщение #2
MaksimCNG
Вставить ник
сообщение 3:05:2008, 06:18
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 6
Регистрация: 3:05:2008
Пользователь №: 17 009
Специализация: Турист



Репутация: - 0 +


Цитата
В вашем случае - смысла нет никакого.

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

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

Спасибо! smile.gif
Подняться вверх 
 
Сообщение #3
etc
Вставить ник
сообщение 3:05:2008, 06:38
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 89
Регистрация: 5:06:2007
Пользователь №: 11 234



Репутация: - 1 +


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

Точно также, как если бы вы делали через дизайнер.
Подняться вверх 
 
Сообщение #4
MaksimCNG
Вставить ник
сообщение 3:05:2008, 06:58
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 6
Регистрация: 3:05:2008
Пользователь №: 17 009
Специализация: Турист



Репутация: - 0 +


Хм ... в дизайнере я вижу следующее
Цитата
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";
}
Подняться вверх 
 
Сообщение #5
etc
Вставить ник
сообщение 3:05:2008, 07:30
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 89
Регистрация: 5:06:2007
Пользователь №: 11 234



Репутация: - 1 +


Цитата(MaksimCNG @ 3:05:2008 - 08:58) *
Я хотябы в верном направлении?
Ну сравнивая мои и ваш вариант, разве не видите различия?
Цитата(MaksimCNG @ 3:05:2008 - 08:58) *
Хм ... в дизайнере я вижу следующее

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

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

Это тоже не гуд.
Подняться вверх 
 
Сообщение #6
MaksimCNG
Вставить ник
сообщение 3:05:2008, 07:57
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 6
Регистрация: 3:05:2008
Пользователь №: 17 009
Специализация: Турист



Репутация: - 0 +


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

Если есть ссылки на документацию которая мне может помочь, подскажите пожалуйста. 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
Подняться вверх 
 
Сообщение #7
etc
Вставить ник
сообщение 3:05:2008, 08:32
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 89
Регистрация: 5:06:2007
Пользователь №: 11 234



Репутация: - 1 +


Цитата(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
Подняться вверх 
 
Сообщение #8
MaksimCNG
Вставить ник
сообщение 9:05:2008, 06:47
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 6
Регистрация: 3:05:2008
Пользователь №: 17 009
Специализация: Турист



Репутация: - 0 +


Всем спасибо, решил этот вопрос. Выкидываю ответ, так как выше он получен небыл. Вдруг кому помогу 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 - работает");
}
Подняться вверх 
 
Сообщение #9
sax_ol
Вставить ник
сообщение 9:05:2008, 07:29
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 740
Регистрация: 11:01:2007
Пользователь №: 8 750
Специализация: specialist



Репутация: - 27 +


Цитата(MaksimCNG @ 9:05:2008 - 08:47) *
Выкидываю ответ, так как выше он получен небыл.
Ну и зачем обманывать? вам сразу же сказали как, а то что вы думать не хотите, ну так это сугубо ваши тараканы.
Подняться вверх 
 
Сообщение #10


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 17:05:2008 - 10:42
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net