Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: wxRadioButton
Форум на CrossPlatform.RU > Библиотеки > wxWidgets
Гость
Здравствуйте всем доброго времени суток, как реализовать wxRadioButtontak, что бы если он выбрани, то после нажатия кнопки он делал какую-то функцию вот маленькая часть кода
WxRadioButton1 = new wxRadioButton(WxNoteBookPage1, ID_WXRADIOBUTTON1, wxT("WxRadioButton1"), wxPoint(19,42), wxSize(113,17), 0, wxDefaultValidator, wxT("WxRadioButton1"));
WxRadioButton2->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));


void ADRDlg::WxButton1Click(wxCommandEvent& event)
{
    if (ID_WXRADIOBUTTON1 == true)
    {
    WxStaticText1 = new wxStaticText(WxNoteBookPage1, ID_WXSTATICTEXT1, wxT("WxStaticText1"), wxPoint(169,34), wxDefaultSize, 0, wxT("WxStaticText1"));
    WxStaticText1->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
    }

}

Помогите, пожалуйста, я только начал изучение языка
ViGOur
У меня есть только пример с wxCheckBox, но он по работе почти эдентичен с wxRadioButton:
checkbox.h
#include <wx/wx.h>

class CheckBox : public wxFrame
{
public:
    CheckBox(const wxString& title);

    void OnToggle(wxCommandEvent& event);

    wxCheckBox *m_cb;

};

const int ID_CHECKBOX = 100;

checkbox.cpp
#include "checkbox.h"

CheckBox::CheckBox(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(270, 150))
{
  wxPanel *panel = new wxPanel(this, wxID_ANY);

  m_cb = new wxCheckBox(panel, ID_CHECKBOX, wxT("Show title"),
                        wxPoint(20, 20));
  m_cb->SetValue(true);
  Connect(ID_CHECKBOX, wxEVT_COMMAND_CHECKBOX_CLICKED,
          wxCommandEventHandler(CheckBox::OnToggle));
  Centre();
}

void CheckBox::OnToggle(wxCommandEvent& WXUNUSED(event))
{

  if (m_cb->GetValue()) {
      this->SetTitle(wxT("CheckBox"));
  } else {
      this->SetTitle(wxT(" "));
  }
}

main.h
#include <wx/wx.h>

class MyApp : public wxApp
{
  public:
    virtual bool OnInit();
};

main.cpp
#include "main.h"
#include "checkbox.h"

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{

    CheckBox *cb = new CheckBox(wxT("CheckBox"));
    cb->Show(true);

    return true;
}


Ключевая строка в этом коде:
Connect(ID_CHECKBOX, wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler(CheckBox::OnToggle));

И метод CheckBox::OnToggle, который вызывается после выбора чекбокса.

Цитата(Гость_Гость_* @ 16.2.2009, 22:56) *
я только начал изучение языка
Это не язык, а библиотека. ;)
ranger
void ADRDlg::WxButton1Click(wxCommandEvent& event)
{
    if(WxRadioButton1->GetValue())
    {
         WxStaticText1 = new wxStaticText(WxNoteBookPage1, ID_WXSTATICTEXT1, wxT("WxStaticText1"),
                                           wxPoint(169,34), wxDefaultSize, 0, wxT("WxStaticText1"));
         WxStaticText1->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
    }

}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.