I added the following code to the minimal sample:
Code: Select all
wxSplitterWindow *splitter = new wxSplitterWindow(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
splitter->SetSize(GetClientSize());
splitter->SetSashGravity(1.0);
wxButton* aboutBtn = new wxButton(splitter, wxID_ANY, "About");
wxScrolledWindow* scrolledWindow = new wxScrolledWindow(splitter, -1, wxDefaultPosition, wxDefaultSize);
splitter->SplitVertically(aboutBtn, scrolledWindow, 100);
However, if I derive a class from wxScrolledWindow:
Code: Select all
class myScrolledWindow : public wxScrolledWindow
{
public:
myScrolledWindow(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
: wxScrolledWindow(parent, id, pos, size, wxSUNKEN_BORDER | wxVSCROLL | wxEXPAND | wxWANTS_CHARS)
{
}
};
// Inside MyFrame::MyFrame
wxSplitterWindow *splitter = new wxSplitterWindow(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
splitter->SetSize(GetClientSize());
splitter->SetSashGravity(1.0);
wxButton* aboutBtn = new wxButton(splitter, wxID_ANY, "About");
myScrolledWindow* scrolledWindow = new myScrolledWindow(splitter, -1, wxDefaultPosition, wxDefaultSize);
splitter->SplitVertically(aboutBtn, scrolledWindow, 100);
What am I missing in my class declaration that has broken the tab traversal?
Thanks