wxMDIParentFrame Member Functions
These are the major 
wxMDIParentFrame
functions, in addition to those defined
for 
wxFrame
.
ActivateNext
and 
ActivatePrevious
activate the  next or  previous  child
frame.
Cascade
and 
Tile
provide two methods to arrange the child frames: over-
lapping  and tiling  them, respectively.
ArrangeIcons
lays out  any  minimized
frames  within  the  client  window. These  three  functions  only  apply  on
Windows.
GetActiveChild
provides the application with a pointer to the currently
active child (if any).
GetClientWindow
returns a pointer to the client window (a container for
the child frames). You can provide a different client window from the default
by  overriding 
OnCreateClient
and  returning  an  instance  of  your  own
wxMDIClientWindow
-derived class, but you must then use two-step parent frame
construction.
wxMDIChildFrame
wxMDIChildFrame
should always be created as a child of a 
wxMDIParentFrame
win-
dow. As explained in the previous section, its appearance depends on the plat-
form and  will either be free-floating  or  constrained to  the boundary of its
parent.
Its constructor is the same as a regular frame; despite the fact that its
true parent is a 
wxMDIClientWindow
,you should pass the frame parent to the
constructor.
For example:
#include “wx/mdi.h”
wxMDIParentFrame* parentFrame = new wxMDIParentFrame(
NULL, ID_MYFRAME, wxT(“Hello wxWidgets”));
wxMDIChildFrame* childFrame = new wxMDIChildFrame(
parentFrame, ID_MYCHILD, wxT(“Child 1”));
childFrame->Show(true);
parentFrame->Show(true);
wxMDIChildFrame Styles
wxMDIChildFrame
takes the same styles as 
wxFrame
,although depending on plat-
form, not all of them will take effect.
Top-Level Windows
65
Pdf image extractor online - Select, copy, paste PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
extract image from pdf java; how to extract text from pdf image file
Pdf image extractor online - VB.NET PDF Image Extract Library: Select, copy, paste PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document
pdf image extractor c#; extract image from pdf acrobat
wxMDIChildFrame Member Functions
These are the major 
wxMDIChildFrame
functions.See also the base class,
wxFrame
.
Activate
activates this frame, bringing it to the front and displaying its
menu bar.
Maximize
resizes the frame to fit the parent (Windows only).
Restore
sets  the  frame  to  the  size  it  was  before  it  was  maximized
(Windows only).
wxDialog
A dialog is a top-level window used for  presenting  information, options, or
selections. It can optionally have a title bar with decorations such as the close
window button and minimize button, and as with 
wxFrame
,you can assign an
icon to the dialog to be shown in the taskbar or equivalent. A dialog can con-
tain any combination of non-top level windows and control—for example, a
wxNotebook
with OK and Cancel buttons underneath.As its name suggests, you
use this class to initiate a dialog with a user, presenting specific information
and choices, compared with the frame’s usual role as the main window of an
application.
There  are  two  kinds  of dialog—modal  and  modeless. A  modal  dialog
blocks program flow and user input on other windows until it is dismissed
(
EndModal
is called), whereas a modeless dialog behaves more like a frame in
that program flow continues, and input in other windows is still possible. To
show a modal dialog, you should use the 
ShowModal
method, whereas to show a
dialog modelessly, you simply use 
Show
,as with frames.
Note that the modal dialog is one of the very few examples of 
wxWindow
-
derived objects that may be created on the stack and not on the heap. In other
words, you can use the heap method as follows:
void AskUser()
{
MyAskDialog *dlg = new MyAskDialog(...);
if ( dlg->ShowModal() == wxID_OK )
...
//else: dialog was cancelled or some another button pressed
dlg->Destroy();
}
You can also achieve the same result by using the stack:
void AskUser()
{
MyAskDialog dlg(...);
if ( dlg.ShowModal() == wxID_OK )
...
// no need to call Destroy() here
}
66
Window Basics Chapter 4
VB.NET TIFF: TIFF Text Extractor SDK; Extract Text Content from
In this online tutorial, we will offer you information on Standalone VB.NET TIFF text extractor SDK that extracts control SDK into VB.NET image application by
extract vector image from pdf; extract jpg pdf
VB.NET PowerPoint: Extract & Collect PPT Slide(s) Using VB Sample
demo code using RasterEdge VB.NET PowerPoint extractor library toolkit. provide powerful & profession imaging controls, PDF document, image to pdf files and
extract pictures from pdf; extract image from pdf online
Normally  you  will  derive  a  new  class  from 
wxDialog
rather  than  using  it
directly so that you can handle events such as 
wxEVT_CLOSE
(see the following)
and command events. Often you will create your dialog’s controls within the
constructor.
Just as with 
wxFrame
,wxWidgets will resize a single child window to fill
the dialog, but for more than one child,the application is responsible for sizing
and positioning the controls using sizers (see Chapter 7).
When you call 
Show
,wxWidgets calls 
InitDialog
to send a 
wxInitDialog
Event
to  the dialog, transferring  data to the  dialog  via  validators or other
means.
wxDialog
has the following constructor in addition to the default constructor:
wxDialog(wxWindow* parent, wxWindowID id, const wxString& title,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
const wxString& name = wxT(“dialog”));
For example:
wxDialog* dialog = new wxDialog(NULL, ID_MYDIALOG,
wxT(“Hello wxWidgets”), wxDefaultPosition,
wxSize(500, 300));
dialog->Show(true);
The dialog won’t be shown until 
Show(true)
or 
ShowModal
is called to give the
application the chance to do child window layout invisibly.
By default, a dialog created with a 
NULL
parent window will be given the
application’s top-level window as parent. Use the 
wxDIALOG_NO_PARENT
style to
prevent this from happening and create an orphan dialog. This is not recom-
mended for modal dialogs.
As with 
wxFrame
,do not use 
delete
to destroy a dialog, but instead use
Destroy
or 
Close
to  delay  deletion  until  all  the  object’s  events  have  been
processed. When you call 
Close
,the default 
wxEVT_CLOSE
handler for this func-
tion usually calls 
Destroy
.
Note that before a modal dialog is destroyed, an event handler should
have called 
EndModal
,passing the identifier of the command that closed it
(for example,
wxID_OK
or 
wxID_CANCEL
). This will exit the dialog’s event loop so
that the dialog object can be destroyed by the code that called 
ShowModal
.The
identifier passed to 
EndModal
will be returned by 
ShowModal
.To clarify, the
OnCancel
function in the following example will be called while 
ShowModal
is
in its event loop:
Top-Level Windows
67
VB.NET Word: Extract Word Pages, DOCX Page Extraction SDK
this VB.NET Word page extractor add-on can be also used to merge / split Word file, add / delete Word page, sort Word page order or insert image into Word page
extract images from pdf c#; how to extract images from pdf in acrobat
VB.NET TIFF: TIFF to Text (TXT) Converter SDK; Convert TIFF to
NET developers to interpret and decode TIFF image file. But different from TIFF text extractor add-on powerful & profession imaging controls, PDF document, tiff
extract image from pdf c#; extract text from pdf image
// Event handler for wxID_CANCEL
void MyDialog::OnCancel(wxCommandEvent& event)
{
EndModal(wxID_CANCEL);
}
// Show a dialog
void ShowDialog()
{
// Show the dialog
MyDialog dialog;
// OnCancel or other function is called from within ShowModal
if (dialog.ShowModal() == wxID_CANCEL)
{
...
}
}
Figure 4-7  shows  a typical simple dialog, which  we’ll create in Chapter 9.
Dialogs can, of course,get more complicated,such as the settings dialog shown
in  Figure  4-8. This  one  has  a  splitter  window, a  tree  control  to  navigate
between multiple panels,and a grid control acting as a property editor.
68
Window Basics Chapter 4
Figure 4-7 A typical simple dialog
C# Word: How to Extract Text from C# Word in .NET Project
you can rest assured because this Word text extractor preserves both to provide powerful & profession imaging controls, PDF document, image to pdf files and
online pdf image extractor; some pdf image extract
wxDialog Styles
wxDialog
can have the window styles listed in Table 4-8 in addition to those
described for 
wxWindow
.
Table 4-8
wxDialog
Styles
wxDEFAULT_DIALOG_STYLE 
Defined as 
wxSYSTEM_MENU | wxCAPTION | 
wxCLOSE_BOX
.
wxCAPTION 
Puts a caption on the dialog.
wxMINIMIZE_BOX 
Displays a minimize box on the dialog.
wxMAXIMIZE_BOX 
Displays a maximize box on the dialog.
wxCLOSE_BOX 
Displays a close box on the dialog.
wxSTAY_ON_TOP 
The dialog stays on top of all other windows.
Windows only.
wxSYSTEM_MENU 
Displays a system menu.
wxRESIZE_BORDER 
Displays a resizable border around the window.
wxDIALOG_NO_PARENT 
A dialog created with a 
NULL
parent window will be 
given the application’s top-level window as parent.
Use this style to create an “orphan” dialog. This is not
recommended for modal dialogs.
Top-Level Windows
69
Figure 4-8 A more complex dialog
Table 4-9 describes extra styles that couldn’t be accommodated in the regular
style, and so are set using 
wxWindow::SetExtraStyle
.Although 
wxWS_EX_BLOCK_
EVENTS
is valid for all windows, we repeat it here because it is set by default.
Table 4-9
wxDialog
Extra Styles
wxDIALOG_EX_CONTEXTHELP 
Under Windows, puts a query button on the caption.
When pressed, Windows will go into a context-
sensitive help mode and wxWidgets will send a 
wxEVT_HELP
event if the user clicked on an application
window. You cannot use this style together with 
wxMAXIMIZE_BOX
or 
wxMINIMIZE_BOX
.
wxWS_EX_BLOCK_EVENTS 
B
locks command event propagation above this win-
dow (the default). Be aware that calling 
SetExtra 
Style
may reset the style.
wxDIALOG_EX_METAL 
Under Mac OS X, this style will give the dialog a 
metallic appearance.This should be used sparingly 
and is intended for consumer applications that emu-
late a physical device such as an audio player.
wxDialog Events
wxDialog
generates the events listed in Table 4-10, in addition to those men-
tioned for 
wxWindow
.
Table 4-10
wxDialog
Events
EVT_ACTIVATE(func) 
Processes a 
wxEVT_ACTIVATE
event, generated when the 
dialog is about to be activated or deactivated. Handlers 
take a 
wxActivateEvent
object.
EVT_CLOSE(func) 
Processes a 
wxEVT_CLOSE
event, generated when the pro-
gram or windowing system is trying to close the dialog.
Handlers take a 
wxCloseEvent
object and can veto the 
close by calling 
Veto
on the object.
EVT_ICONIZE(func) 
Processes a 
wxEVT_ICONIZE
event, generated when the
dialog is being iconized (minimized) or restored. Handlers
take a 
wxIconizeEvent
object. Call 
IsIconized
to check if 
this is an iconize or restore event.
EVT_MAXIMIZE(func) 
Processes a 
wxEVT_MAXIMIZE
event, generated when the
dialog is being maximized or restored. Handlers take a 
wxMaximizeEvent
object. Call 
IsMaximized
to check if this
is a maximize or restore event.
EVT_INIT_DIALOG(func)
Processes a 
wxEVT_INIT_DIALOG
event, generated to en- 
able the dialog to initialize itself. Handlers take a 
wxInit
DialogEvent
object. This event is also generated for
wxPanel
.The default handler calls 
TransferDataToWindow
.
70
Window Basics Chapter 4
wxDialog Member Functions
These are the major 
wxDialog
functions. Please refer also to the member func-
tions for 
wxWindow
and 
wxTopLevelWindow
,from which 
wxDialog
is derived.
GetTitle
and 
SetTitle
are accessors for the title that appears on the dia-
log’s title bar.
Iconize
iconizes or restores the dialog. You can test the dialog’s iconic
state by calling 
IsIconized
.
Maximize
maximizes  the  dialog  (makes  it  as large  as  the  desktop)  or
restores it to the previous state. Call 
IsMaximized
to test whether the dialog is
maximized. Windows only.
SetIcon
sets the icon displayed when the dialog is minimized. It’s also
used for other purposes by the window manager, such as displaying the pro-
gram’s icon in Windows Explorer or on the taskbar. You can also use 
SetIcons
to set an icon bundle (multiple icons with a variety of resolutions and depths).
ShowModal
is used when showing a modal dialog. It returns the value of
the identifier passed to 
EndModal
—normally this is the identifier of the control
that the user clicked on to dismiss the dialog. By default (implemented in the
dialog’s 
wxEVT_CLOSE
handler), closing the dialog sends a simulated 
wxID_CANCEL
to the dialog. The default handler for 
wxID_CANCEL
calls 
EndModal
with 
wxID_
CANCEL
.Therefore, if  you  provide  a  button  with  the  identifier 
wxID_CANCEL
,
the logic for canceling the dialog is handled for you, unless you need extra
functionality.
SetLeftMenu
and 
SetRightMenu
are  only  available  on  Microsoft
Smartphone, and they set the commands allocated to the left and right menu
buttons. They take  a  command identifier, such  as 
wxID_OK
,a label, and an
optional pointer to a 
wxMenu
to show.
wxPopupWindow
Pop-up windows are not implemented on all platforms (in particular, they are
missing from Mac OS X), and so we will only briefly mention them.
wxPopupWindow 
is a top-level window that normally has minimal decora-
tion and is used to implement windows that are shown briefly, such as a menu
or a tooltip. Create it by passing a parent window and optional style to the
constructor (defaulting to 
wxNO_BORDER
). Move it into position with 
Position
,
which takes a screen position and size and makes sure that the popup is visi-
ble on the display.
wxPopupTransientWindow
is a special kind of 
wxPopupWindow
that dismisses
itself (hides) when it loses the focus or the mouse is clicked outside of the win-
dow. It can also be hidden with 
Dismiss
.
Top-Level Windows
71
C
ONTAINER
W
INDOWS
Container windows are designed to hold further visual elements, either child
windows or graphics drawn on the window.
wxPanel
wxPanel
is essentially a 
wxWindow
with some dialog-like properties. This is usu-
ally the class to use when you want to arrange controls on a window that’s not
wxDialog
,such as a 
wxFrame
.It’s often used for pages of a 
wxNotebook
.
wxPanel
normally takes the system dialog color.
As with 
wxDialog
,you can use 
InitDialog
to send a 
wxInitDialogEvent
to
the  panel, transferring  data  to  the  panel  via  validators  or  other  means.
wxPanel
also handles navigation keys such as the Tab key to provide automatic
traversal between controls, if the 
wxTAB_TRAVERSAL
style is provided.
wxPanel
has  the  following  constructor  in  addition  to  the  default
constructor:
wxPanel(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxTAB_TRAVERSAL|wxNO_BORDER,
const wxString& name = wxT(“panel”));
For example:
wxPanel* panel = new wxPanel(frame, wxID_ANY,
wxDefaultPosition, (500, 300));
wxPanel Styles
There are no specific styles for 
wxPanel
,but see the styles for 
wxWindow
.
wxPanel Member Functions
There are no distinct 
wxPanel
functions; please refer to the 
wxWindow
member
functions, inherited by 
wxPanel
.
wxNotebook
This class represents a control with several pages,switched by clicking on tabs
along an edge of the control. A page is normally a 
wxPanel
or a class derived
from it, although you may use other window classes.
72
Window Basics Chapter 4
Notebook tabs may have images as well as, or instead of, text labels.The
images are supplied via a 
wxImageList
(see Chapter 10), and specified by posi-
tion in the list.
To  use  a  notebook, create  a 
wxNotebook
object  and  call 
AddPage
or
InsertPage
,passing a window to be used as the page. Do not explicitly destroy
the window for a page that is currently managed by 
wxNotebook
;use 
DeletePage
instead, or let the notebook destroy the pages when it is itself destroyed.
Here’s an example of creating a notebook with three panels, and a text
label and icon for each tab:
#include “wx/notebook.h”
#include “copy.xpm”
#include “cut.xpm”
#include “paste.xpm”
// Create the notebook
wxNotebook* notebook = new wxNotebook(parent, wxID_ANY,
wxDefaultPosition, wxSize(300, 200));
// Create the image list
wxImageList* imageList = new wxImageList(16, 16, true, 3);
imageList->Add(wxIcon(copy_xpm));
imageList->Add(wxIcon(paste_xpm));
imageList->Add(wxIcon(cut_xpm));
// Create and add the pages
wxPanel1* window1 = new wxPanel(notebook, wxID_ANY);
wxPanel2* window2 = new wxPanel(notebook, wxID_ANY);
wxPanel3* window3 = new wxPanel(notebook, wxID_ANY);
notebook->AddPage(window1, wxT(“Tab one”), true, 0);
notebook->AddPage(window2, wxT(“Tab two”), false, 1);
notebook->AddPage(window3, wxT(“Tab three”), false 2);
Figure 4-9 shows the result on Windows.
Container Windows
73
Figure 4-9 A 
wxNotebook
On most platforms, there are scroll buttons to view tabs that cannot all
be displayed on the window at once. However, on Mac OS, the tabs do not
scroll, so the number you can display is limited by the window and tab label
size.
If  you  use  sizers  to  lay  out  controls  on  individual  pages, and  pass
wxDefaultSize
to the notebook constructor,
wxNotebook
will adjust its size to fit
the sizes of its pages.
Notebook Theme Management
On Windows XP, the default theme paints a gradient on the notebook’s pages.
Although this is the expected native behavior, it can slow down performance,
and you may prefer a solid background for aesthetic reasons, especially when
the notebook is not being used in a dialog. If you want to suppress themed
drawing, there are three ways of doing it. You can use the 
wxNB_NOPAGETHEME
style  to  disable  themed  drawing  for  a  particular  notebook, you  can  call
wxSystemOptions::SetOption
to disable it for the whole application, or you can
disable it for individual pages by using 
SetBackgroundColour
.To disable themed
pages globally,do this:
wxSystemOptions::SetOption(wxT(“msw.notebook.themed-background”), 0);
Set the value to 
1
to enable it again. To give a single page a solid background
that matches the current theme, use
wxColour col = notebook->GetThemeBackgroundColour();
if (col.Ok())
{
page->SetBackgroundColour(col);
}
On platforms other than Windows, or if the application is not using Windows
themes,
GetThemeBackgroundColour
will return an uninitialized color object, and
this code will therefore work on all platforms. Please note that this syntax and
behavior is subject to change, so refer to the 
wxNotebook
documentation in your
wxWidgets distribution for the latest information.
wxNotebook Styles
wxNotebook
can have the window styles listed in Table 4-11, in addition to those
described for 
wxWindow
.
74
Window Basics Chapter 4
Documents you may be interested
Documents you may be interested