Пример трехоконной программы на C++ с использованием wxWidgets в DialogBlocks
Нужно сделать чтобы ID всех окон и элементов были разные во всех окнах, иначе не будет работать!
Form1
void Form1::OnButtonClickExit(wxCommandEvent& event)
{
wxTheApp->Exit(); // Или Destroy();
}
void Form1::OnButton1ClickNext(wxCommandEvent& event)
{
Form2* window = new Form2(this);
if (window) {
window->Show(true);
Hide();
}
}
void Form1::OnCloseWindow(wxCloseEvent& event)
{
wxTheApp->Exit(); // Или Destroy();
}
Form2
void Form2::OnCloseWindow(wxCloseEvent& event)
{
wxWindow* parent = GetParent();
Destroy();
if (parent && !parent->IsBeingDeleted()) {
parent->Show(true);
}
}
void Form2::OnButton2ClickPrior(wxCommandEvent& event)
{
wxWindow* parent = GetParent();
Destroy();
if (parent && !parent->IsBeingDeleted()) {
parent->Show(true);
}
}
void Form2::OnButton3ClickNext(wxCommandEvent& event)
{
Form3* window = new Form3(this);
if (window) {
window->Show(true);
Hide();
}
}
Form3
void Form3::OnCloseWindow(wxCloseEvent& event)
{
wxWindow* parent = GetParent();
Destroy();
if (parent && !parent->IsBeingDeleted()) {
parent->Show(true);
}
}
void Form3::OnButton4ClickPrior(wxCommandEvent& event)
{
wxWindow* parent = GetParent();
Destroy();
if (parent && !parent->IsBeingDeleted()) {
parent->Show(true);
}
}
void Form3::OnButton5ClickExit(wxCommandEvent& event)
{
wxTheApp->Exit();
}
http://www.anthemion.co.uk/dialogblocks/
https://visualstudio.microsoft.com/ru/vs/community/
http://www.anthemion.co.uk/dialogblocks/ImageBlocks-1.07-Setup.exe