wxWidgets C++,点击按钮,弹出对话框,确认,取消,点击确认,执行程序,完整示例
时间: 2023-07-11 20:35:31 浏览: 176
wxWigets开源C++界面框架
5星 · 资源好评率100%
好的,以下是一个完整的示例程序,使用wxWidgets C++编写,实现点击按钮后弹出确认/取消对话框,点击确认则执行程序:
```cpp
#include <wx/wx.h>
class MyFrame : public wxFrame
{
public:
MyFrame(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(300, 200))
{
// 创建一个按钮
m_button = new wxButton(this, wxID_ANY, wxT("点击我"));
// 绑定按钮点击事件
m_button->Bind(wxEVT_BUTTON, &MyFrame::OnButtonClicked, this);
// 设置布局
wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
sizer->Add(m_button, 0, wxALIGN_CENTER | wxALL, 20);
SetSizer(sizer);
}
private:
void OnButtonClicked(wxCommandEvent& event)
{
// 弹出确认对话框
int answer = wxMessageBox(wxT("确定执行程序吗?"), wxT("提示"), wxYES_NO | wxICON_QUESTION, this);
// 如果点击了“是”按钮
if (answer == wxYES)
{
// 执行程序
wxMessageBox(wxT("程序执行完毕!"), wxT("提示"), wxOK | wxICON_INFORMATION, this);
}
}
wxButton* m_button;
wxDECLARE_EVENT_TABLE();
};
wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_CLOSE(MyFrame::OnClose)
wxEND_EVENT_TABLE()
class MyApp : public wxApp
{
public:
virtual bool OnInit()
{
MyFrame* frame = new MyFrame(wxT("示例程序"));
frame->Show();
return true;
}
};
wxIMPLEMENT_APP(MyApp);
```
在这个示例程序中,我们创建了一个名为`MyFrame`的窗口,其中包含一个按钮。我们使用`Bind`函数绑定按钮的点击事件,当按钮被点击时,会调用`OnButtonClicked`函数。在`OnButtonClicked`函数中,我们使用`wxMessageBox`函数弹出确认对话框。如果用户点击了“是”按钮,我们就会执行程序。
这个示例程序非常简单,但它演示了如何使用wxWidgets C++创建一个带有按钮的窗口,并在按钮点击时弹出确认对话框。如果你需要更复杂的功能,可以查看wxWidgets的官方文档,里面有更详细的教程和示例。
阅读全文