Tim Burgess
2014-07-12 12:09:08 UTC
Hi,
I'm using a wxNotebook to create a multi-tab control as the primary
component of my application's UI. I have a frame that contains a menu bar, a
panel containing the notebook and a status bar. The menu bar and status bar
are visible on the display, whilst the notebook control seems to occupy a
tiny window in the upper left of my frame, with the page titles not visible
(this is based on my wife's observations, as I'm blind). Using left/right
arrows or Ctrl+Tab/Ctrl+Shift+Tab moves between the pages of the dialog,
even though the page titles are not visible (I can tell this by use of my
screen-reading software, together with setting break points in an event
handler for the page change). Selecting a given page then using Tab to try
to move through its controls yields no speech output, so the sub-controls
aren't visible, even to the screen-reader. The code in the constructor of my
frame is:
myFrame::myFrame()
{
// Set up data structures and the menu system
...
// Set up the multi-tab notebook
wxPanel * pPanel = new wxPanel( this);
wxBoxSizer * vSizer = new wxBoxSizer(wxVERTICAL);
pPanel->SetSizer( vSizer);
pPanel->Layout();
pNotebook = new wxNotebook( pPanel, ID_NOTEBOOK, wxDefaultPosition,
wxDefaultSize, 0);
// The first page is an instance of a class derived from wxPanel - the PEPX
reference is data with no UI significance
// Initially, this first page was set up as for the others - the derived
class was an experiment to see if it helped solve this issue
pSetLibraryPage = new SetLibraryPage( pNotebook, pEPX);
pPatchExchangePage = new wxNotebookPage();
pEWIPatchSetPage = new wxNotebookPage();
pCurrentPatchPage = new wxNotebookPage();
pKeyPatchesPage = new wxNotebookPage();
pNotebook->AddPage( pSetLibraryPage, wstrSetLibraryPageTitle, true);
pNotebook->AddPage( pPatchExchangePage, wstrPatchExchangePageTitle, false);
pNotebook->AddPage( pEWIPatchSetPage, wstrEWIPatchSetPageTitle, false);
pNotebook->AddPage( pCurrentPatchPage, wstrCurrentPatchPageTitle, false);
pNotebook->AddPage( pKeyPatchesPage, wstrKeyPatchesPageTitle, false);
vSizer->Insert(0, pNotebook, wxSizerFlags( 5).Expand().Border());
vSizer->Show(pNotebook);
// Set up the status bar
...
}
Can anybody help me spot where I'm going wrong, please?
Best wishes.
Tim Burgess
I'm using a wxNotebook to create a multi-tab control as the primary
component of my application's UI. I have a frame that contains a menu bar, a
panel containing the notebook and a status bar. The menu bar and status bar
are visible on the display, whilst the notebook control seems to occupy a
tiny window in the upper left of my frame, with the page titles not visible
(this is based on my wife's observations, as I'm blind). Using left/right
arrows or Ctrl+Tab/Ctrl+Shift+Tab moves between the pages of the dialog,
even though the page titles are not visible (I can tell this by use of my
screen-reading software, together with setting break points in an event
handler for the page change). Selecting a given page then using Tab to try
to move through its controls yields no speech output, so the sub-controls
aren't visible, even to the screen-reader. The code in the constructor of my
frame is:
myFrame::myFrame()
{
// Set up data structures and the menu system
...
// Set up the multi-tab notebook
wxPanel * pPanel = new wxPanel( this);
wxBoxSizer * vSizer = new wxBoxSizer(wxVERTICAL);
pPanel->SetSizer( vSizer);
pPanel->Layout();
pNotebook = new wxNotebook( pPanel, ID_NOTEBOOK, wxDefaultPosition,
wxDefaultSize, 0);
// The first page is an instance of a class derived from wxPanel - the PEPX
reference is data with no UI significance
// Initially, this first page was set up as for the others - the derived
class was an experiment to see if it helped solve this issue
pSetLibraryPage = new SetLibraryPage( pNotebook, pEPX);
pPatchExchangePage = new wxNotebookPage();
pEWIPatchSetPage = new wxNotebookPage();
pCurrentPatchPage = new wxNotebookPage();
pKeyPatchesPage = new wxNotebookPage();
pNotebook->AddPage( pSetLibraryPage, wstrSetLibraryPageTitle, true);
pNotebook->AddPage( pPatchExchangePage, wstrPatchExchangePageTitle, false);
pNotebook->AddPage( pEWIPatchSetPage, wstrEWIPatchSetPageTitle, false);
pNotebook->AddPage( pCurrentPatchPage, wstrCurrentPatchPageTitle, false);
pNotebook->AddPage( pKeyPatchesPage, wstrKeyPatchesPageTitle, false);
vSizer->Insert(0, pNotebook, wxSizerFlags( 5).Expand().Border());
vSizer->Show(pNotebook);
// Set up the status bar
...
}
Can anybody help me spot where I'm going wrong, please?
Best wishes.
Tim Burgess
--
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.
To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users
Please read http://www.wxwidgets.org/support/mlhowto.htm before posting.
To unsubscribe, send email to wx-users+***@googlegroups.com
or visit http://groups.google.com/group/wx-users