Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: g++ wxWidgets переместить кнопку  (Прочитано 872 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xmarat

  • Автор темы
  • Участник
  • *
  • Сообщений: 101
    • Просмотр профиля
g++ wxWidgets переместить кнопку
« : 21 Декабря 2010, 19:46:56 »
Учусь программировать c++ на linux. Использую g++. Написал такой код:
// hworld.cpp
// Version using dynamic event routing

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

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

IMPLEMENT_APP(MyApp)


class MyFrame : public wxFrame
{
public:
    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style);
    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);
    void OnMov(wxCommandEvent& event);
};

enum
{
    ID_Quit=1,
    ID_About,
    ID_Mov
};


bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame( _("Hello World"), wxPoint(0, 0),
                                  wxSize(800, 600), wxMAXIMIZE);

    frame->Connect( ID_Quit, wxEVT_COMMAND_MENU_SELECTED,
                    (wxObjectEventFunction) &MyFrame::OnQuit );
    frame->Connect( ID_About, wxEVT_COMMAND_MENU_SELECTED,
                    (wxObjectEventFunction) &MyFrame::OnAbout );

    frame->Show(true);
    SetTopWindow(frame);
    return true;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style)
    : wxFrame( NULL, -1, title, pos, size )
{
    wxMenuBar *menuBar = new wxMenuBar;

    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _("&About...") );
    menuFile->AppendSeparator();
    menuFile->Append( ID_Quit, _("E&xit") );

    menuBar->Append(menuFile, _("&File") );

    SetMenuBar(menuBar);

    wxPanel *panel = new wxPanel(this, -1);

    wxButton *m_newb = new wxButton(panel, ID_Mov, wxT("123"),wxPoint(50, 50),wxSize(200, 25),wxBU_EXACTFIT);
    Connect(ID_Mov, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MyFrame::OnMov) );

    CreateStatusBar();
        
    SetStatusText( _("Welcome to wxWidgets!") );
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    Close(true);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox( _("wxWidgets Hello World example."),
                  _("About Hello World"),
                  wxOK|wxICON_INFORMATION, this );
}

void MyFrame::OnMov(wxCommandEvent& WXUNUSED(event))
{

}

Мне нужно изменить позицию(координаты) кнопки по нажатию на нее. Что то не соображу что для этого нужно написать в ф-ю OnMov? Поможете?
Заранее благодарен.
« Последнее редактирование: 21 Декабря 2010, 19:48:52 от xmarat »

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.