crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> wxRadioButton
Гость_Гость_*
сообщение 16.2.2009, 22:56
Сообщение #1





Гости








    


Здравствуйте всем доброго времени суток, как реализовать 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
  опции профиля:
сообщение 16.2.2009, 23:33
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


У меня есть только пример с 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) *
я только начал изучение языка
Это не язык, а библиотека. ;)

Сообщение отредактировал ViGOur - 16.2.2009, 23:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ranger
  опции профиля:
сообщение 17.2.2009, 3:34
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 65
Регистрация: 29.7.2008
Пользователь №: 245

Спасибо сказали: 9 раз(а)




Репутация:   4  


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")));
    }

}


Сообщение отредактировал ranger - 17.2.2009, 3:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 6:55