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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем MaksimCNG, 3 май 2008.

Статус темы:
Закрыта.
  1. MaksimCNG

    MaksimCNG Гость

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

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

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

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

    etc Гость

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

    MaksimCNG Гость

    Так уж получилось :) В виду того, что опыта не достаточно.
    MyOnClick он как - то отдельно описывается?

    Спасибо! :)
     
  4. etc

    etc Гость

    Точно также, как если бы вы делали через дизайнер.
     
  5. MaksimCNG

    MaksimCNG Гость

    Хм ... в дизайнере я вижу следующее
    а у меня

    Я хотябы в верном направлении? :)
     
  6. etc

    etc Гость

    Ну сравнивая мои и ваш вариант, разве не видите различия?
    Это реализация, еще есть определение, ищите в класе.

    Это тоже не гуд.
     
  7. MaksimCNG

    MaksimCNG Гость

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

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

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

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


    Здесь есть доли правды? :) Или это моменты утреннего бреда? :)
     
  8. etc

    etc Гость

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

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

    см. F1
     
  9. MaksimCNG

    MaksimCNG Гость

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

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

    #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 - работает");
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей