PM Library classes

class PMWindow

? ^ 
    extends PMNonCopyable as public

Base window class.

The PMWindow class is the base window class and provides behavior common to all windows. Although this class contains behavior requiring the existence of a presentation window, you must construct the presentation window itself using a derived class.

You can construct and destruct objects of this class.

Note: Although you can construct objects of this class directly, you do not generally do so.

Source:
pm_window.h:50
Author:
Dmitry A.Steklenev
Version:
$Revision: 1.25 $

Contents

^ 
EntityInherited FromTypeScopeShort Description
PMWindowconstructor public Wraps the window object around an existing presentation window handle.
PMWindowconstructor public Wraps the window object around an existing child window with the specified identity.
PMWindowconstructor public Constructs the presentation window.
PMWindowconstructor public Constructs the presentation window from the dialog template.
PMWindowconstructor protected Constructs the presentation window of the specified class.
~PMWindowdestructor public Destructs the window object.
destroymethod public Destroys the presentation window.
handlemethod publicReturns the presentation window handle.
idmethod publicReturns the window identifier.
parentmethod public Returns the parent window handle.
ownermethod public Returns the owner window handle.
parentmethod public Sets the parent window.
ownermethod public Sets the owner window.
framemethod public Return the handle of the first frame window associated with this window.
textmethod publicSets the window text.
rectanglemethod publicSets the window's position and size.
center_atmethod publicCenters the window concerning his owner window.
fontmethod publicSets a new font to be used by the window.
translatemethod public Translates the window text.
textmethod public Returns the window text.
text_lenmethod public Returns the length of the window text.
colormethod public Returns the specified color value.
colormethod public Sets the specified color value.
rectanglemethod publicReturns the window rectangle.
showmethod publicMakes the window visible.
hidemethod publicMakes the window invisible.
is_visiblemethod public Is the window visible.
enablemethod publicEnables the window to accept keyboard and mouse input.
disablemethod publicPrevents keyboard and mouse input from being sent to the window.
drop_typeenum public Use these enumerators to specify various object types that can be dropped to window.
enable_dropmethod publicEnables the window to accept dropped objects.
is_validmethod public Is the window valid.
set_focusmethod publicSets the input focus to the window.
has_focusmethod public Has focus.
invalidatemethod public This method adds a region to a window's update region.
invalidatemethod public This method adds the whole window to a window's update region.
capture_pointermethod public Captures mouse pointer.
release_pointermethod public Release mouse pointer.
has_pointer_capturedmethod public Has pointer captured.
pointermethod public Sets the appearance used by the mouse pointer when it is over the window.
pointermethod publicReturns the mouse pointer used when the mouse is over the window.
attach_acceleratorsmethod public Replaces the accelerator keys used by the window.
detach_acceleratorsmethod public Detaches the accelerator keys used by the window.
sendmethod public Sends a message to window.
postmethod public Posts a message to window.
start_timermethod public This method starts a timer.
stop_timermethod public This method stops a timer.
auto_delete_objectmethod public Determines whether to delete the window object when the presentation window is destroyed.
is_auto_delete_objectmethod public If the window object is deleted when a destroy event is dispatched to the window, TRUE is returned.
handle_eventsmethod protected Handle events.
stop_handling_eventsmethod protected Stop handling events.
dispatchmethod protected Dispatch system native events.
dispatch_everythingmethod protected Dispatch all not catched events.

constructor PMWindow

? ^  > 
Wraps the window object around an existing presentation window handle.

The wrapped window object usually have a limited functionality. You can query and set the window attributes, size, position and visibility status.

Source:
pm_window.h:62
Code:
public PMWindow ( HWND handle )

constructor PMWindow

? ^  < > 
Wraps the window object around an existing child window with the specified identity.

The wrapped window object usually have a limited functionality. You can query and set the window attributes, size, position and visibility status.

Source:
pm_window.h:76
Params:
hparent Specifies the parent-window handle.
id Specifies the identity of the child window.
Code:
public PMWindow ( HWND hparent ,
SHORT id )

constructor PMWindow

? ^  < > 
Constructs the presentation window.

Source:
pm_window.h:108
Params:
id Specifies the window identifier.
text Specifies the window text.
hparent Specifies the parent-window handle.
howner Specifies the owner-window handle.
x,y,cx,cy Specifies the window rectangle.
style Specifies the window style:

WS_CLIPCHILDREN
Prevents a window from painting over its child windows.
WS_CLIPSIBLINGS
Prevents a window from painting over its sibling windows.
WS_DISABLED
Used by an application to disable a window.
WS_GROUP
Specifies the first control of a group of controls.
WS_MAXIMIZED
Enlarges a window to the maximum size.
WS_MINIMIZED
Reduces a window to the size of an icon.
WS_PARENTCLIP
Extends a window's visible region to include that of its parent window.
WS_SAVEBITS
Saves the screen area under a window as a bit map.
WS_SYNCPAINT
Causes a window to receive WM_PAINT messages immediately after a part of the window becomes invalid.
WS_TABSTOP
Specifies one of any number of controls through which the user can move by tabbing.
WS_VISIBLE
Makes a window visible.
WS_DLGPOINTS
The window rectangle is specified in dialog units.
Code:
public PMWindow ( SHORT id ,
const char * text ,
HWND hparent ,
HWND howner ,
LONG x ,
LONG y ,
LONG cx ,
LONG cy ,
ULONG style )

constructor PMWindow

? ^  < > 
Constructs the presentation window from the dialog template.

Source:
pm_window.h:121
Params:
hparent Specifies the parent-window handle.
howner Specifies the owner-window handle.
res_id Dialog-template identity within the resource file. It is also used as the identity of the created window.
hmodule Module handle referencing a dynamic link library containing the resource or NULLHANDLE for the application's module.
Code:
public PMWindow ( HWND hparent ,
HWND howner ,
SHORT res_id ,
HMODULE hmodule )

constructor PMWindow

? ^  < > 
Constructs the presentation window of the specified class.

Source:
pm_window.h:139
Params:
classname Specifies the registered-class name.
id Specifies the window identifier.
text Specifies the window text.
hparent Specifies the parent-window handle.
howner Specifies the owner-window handle.
x,y,cx,cy Specifies the window shape.
style Specifies the window style.
classdata Specifies the pointer to control data.
Code:
protected PMWindow ( const char * classname ,
SHORT id ,
const char * text ,
HWND hparent ,
HWND howner ,
LONG x ,
LONG y ,
LONG cx ,
LONG cy ,
ULONG style ,
PVOID classdata = NULL )

destructor ~PMWindow

? ^  < > 
Destructs the window object.

Cleans up as this window object and destroying the associated presentation window for this object if the object was not created from an existing window handle.

Source:
pm_window.h:150
Code:
public virtual ~ PMWindow ( )

method destroy

? ^  < > 
Destroys the presentation window.

Destroying the associated presentation window for this object.

Source:
pm_window.h:159
Code:
public virtual void destroy ( )

method handle

? ^  < > 
Returns the presentation window handle.
Source:
pm_window.h:162
Code:
public HWND handle ( ) const

method id

? ^  < > 
Returns the window identifier.
Source:
pm_window.h:164
Code:
public SHORT id ( ) const

method parent

? ^  < > 
Returns the parent window handle.

The parent window provides the coordinate system used for positioning a child window. A window whose parent is the desktop window, is called a top-level or overlapped window.

Source:
pm_window.h:174
Code:
public HWND parent ( ) const

method owner

? ^  < > 
Returns the owner window handle.

Windows that send messages send them to their owner. When an owner window is destroyed, all windows owned by it are also destroyed. The owner window must belong to the current thread.

Source:
pm_window.h:185
Code:
public HWND owner ( ) const

method parent

? ^  < > 
Sets the parent window.

The parent window provides the coordinate system used for positioning a child window. A window whose parent is the desktop window, is called a top-level or overlapped window.

Source:
pm_window.h:209
Params:
hparent New parent window handle.

  • This cannot be a descendant of this window.
  • If this parameter is a desktop window handle or HWND_DESKTOP, window becomes a main window.
  • If this parameter is not equal to HWND_OBJECT, it must be a descendant of the same desktop window as this window.
  • If this parameter is HWND_OBJECT or a window handle returned by WinQueryObjectWindow, window becomes an object window.

redraw Redraw indicator.
Code:
public virtual void parent ( HWND hparent ,
BOOL redraw = TRUE )

method owner

? ^  < > 
Sets the owner window.

Windows that send messages send them to their owner. When an owner window is destroyed, all windows owned by it are also destroyed. The owner window must belong to the current thread.

Source:
pm_window.h:222
Param:
howner New owner window handle.
Code:
public virtual void owner ( HWND howner )

method frame

? ^  < > 
Return the handle of the first frame window associated with this window.
Source:
pm_window.h:228
Code:
public HWND frame ( ) const

method text

? ^  < > 
Sets the window text.
Source:
pm_window.h:231
Code:
public virtual void text ( const char * text )

method rectangle

? ^  < > 
Sets the window's position and size.
Source:
pm_window.h:233
Code:
public virtual void rectangle ( const PMRect & rect )

method center_at

? ^  < > 
Centers the window concerning his owner window.
Source:
pm_window.h:235
Code:
public virtual void center_at ( )

method font

? ^  < > 
Sets a new font to be used by the window.
Source:
pm_window.h:237
Code:
public virtual void font ( const char * font )

method translate

? ^  < > 
Translates the window text.

Translates the window text and all the child texts using for this purpose the current instance of the messages management object.

Source:
pm_window.h:247
Code:
public virtual void translate ( )

method text

? ^  < > 
Returns the window text.

Source:
pm_window.h:258
Params:
result A buffer in which the window text is returned.
size This is the size of the buffer specified by the result parameter. If the call is successful, this is overwritten with the number of bytes copied into the buffer.
Code:
public virtual char * text ( char * result ,
int size ) const

method text_len

? ^  < > 
Returns the length of the window text.

Source:
pm_window.h:267
Returns:
The length of the window text, excluding any null termination character.
Code:
public virtual int text_len ( ) const

method color

? ^  < > 
Returns the specified color value.

Source:
pm_window.h:332
Param:
type Specify one of window's colors:

CCI_FOREGROUND
Foreground color.
CCI_FOREGROUNDREADONLY
Read-only text foreground color.
CCI_BACKGROUND
Background color.
CCI_BACKGROUNDDIALOG
Background color (in dialog).
CCI_DISABLEDFOREGROUND
Disabled foreground color.
CCI_DISABLEDFOREGROUNDREADONLY
Disabled read-only text foreground color.
CCI_DISABLEDBACKGROUND
Disabled background color.
CCI_DISABLEDBACKGROUNDDIALOG
Disabled background color (in dialog).
CCI_HIGHLIGHTFOREGROUND
Highlight text foreground color.
CCI_HIGHLIGHTBACKGROUND
Highlight background color.
CCI_HIGHLIGHTBACKGROUNDDIALOG
Highlight background color (in dialog).
CCI_INACTIVEFOREGROUND
Inactive foreground color.
CCI_INACTIVEFOREGROUNDDIALOG
Inactive foreground color (in dialog).
CCI_INACTIVEBACKGROUND
Inactive background color.
CCI_INACTIVEBACKGROUNDTEXT
Inactive text background color.
CCI_ACTIVEFOREGROUND
Active foreground color.
CCI_ACTIVEFOREGROUNDDIALOG
Active foreground color (in dialog).
CCI_ACTIVEBACKGROUND
Active background color.
CCI_ACTIVEBACKGROUNDTEXT
Active text background color.
CCI_PAGEBACKGROUND
Page background color.
CCI_PAGEFOREGROUND
Page foreground color.
CCI_EDITBACKGROUND
Edit area background color.
CCI_EDITFOREGROUND
Edit area foreground color.
CCI_FIELDBACKGROUND
Edge (or status line) window color.
CCI_BORDER
Thin border color.
CCI_BORDERLIGHT
Light border color.
CCI_BORDERDARK
Dark border color.
CCI_BORDER2
Disabled border, new notebook border or container record emphasis color.
CCI_BORDER2LIGHT
Light border 2 color.
CCI_BORDER2DARK
Dark border 2 color.
CCI_BORDERDEFAULT
Outer button border color.
CCI_BUTTONBACKGROUND
Sub-button background color.
CCI_BUTTONBORDERLIGHT
Sub-button light border color.
CCI_BUTTONBORDERDARK
Sub-button dark border color.
CCI_ARROW
Arrow color.
CCI_DISABLEDARROW
Disabled arrow color.
CCI_ARROWBORDERLIGHT
Arrow light border color.
CCI_ARROWBORDERDARK
Arrow dark border color.
CCI_CHECKLIGHT
Light check mark color.
CCI_CHECKMIDDLE
Middle check mark color.
CCI_CHECKDARK
Dark check mark color.
CCI_ICONFOREGROUND
Icon text color.
CCI_ICONBACKGROUND
Icon text background color.
CCI_ICONBACKGROUNDDESKTOP
Icon text background color (in desktop).
CCI_ICONHILITEFOREGROUND
Icon text highlight color.
CCI_ICONHILITEBACKGROUND
Icon text highlight background color.
CCI_MAJORTABFOREGROUND
Major tab text color.
CCI_MAJORTABBACKGROUND
Major tab background color.
CCI_MINORTABFOREGROUND
Minor tab text color.
CCI_MINORTABBACKGROUND
Minor tab background color.

Returns:
The RGB color value. If you have not set the specified color, the default color value CLR_DEFAULT is returned.
Code:
public LONG color ( LONG type ) const

method color

? ^  < > 
Sets the specified color value.

Source:
pm_window.h:387
Params:
type Specifies one of window's color.
color The RGB color value or one of the SYSCLR_* index values:

SYSCLR_SHADOWHILITEBGND
System color for shadow highlighted background.
SYSCLR_SHADOWHILITEFGND
System color for shadow highlighted foreground.
SYSCLR_SHADOWTEXT
System color for shadow text.
SYSCLR_ENTRYFIELD
System color for entry field.
SYSCLR_MENUDISABLEDTEXT
System color for disabled menu text.
SYSCLR_MENUHILITE
System color for highlighted menu text.
SYSCLR_MENUHILITEBGND
System color for highlighted menu background.
SYSCLR_PAGEBACKGROUND
System color for page background.
SYSCLR_FIELDBACKGROUND
System color for field background.
SYSCLR_BUTTONLIGHT
System color for light button.
SYSCLR_BUTTONMIDDLE
System color for middle button.
SYSCLR_BUTTONDARK
System color for dark button.
SYSCLR_BUTTONDEFAULT
System color for default button.
SYSCLR_TITLEBOTTOM
System color for title bottom.
SYSCLR_SHADOW
System color for shadow.
SYSCLR_ICONTEXT
System color for icon text.
SYSCLR_DIALOGBACKGROUND
System color for dialog background.
SYSCLR_HILITEFOREGROUND
System color for highlighted foreground.
SYSCLR_HILITEBACKGROUND
System color for highlighted background.
SYSCLR_TITLETEXT
System color for title text.
SYSCLR_INACTIVETITLETEXTBGND
System color for inactive title text background.
SYSCLR_ACTIVETITLETEXTBGND
System color for active title text background.
SYSCLR_INACTIVETITLETEXT
System color for inactive title text.
SYSCLR_ACTIVETITLETEXT
System color for active title text.
SYSCLR_OUTPUTTEXT
System color for output text.
SYSCLR_WINDOWSTATICTEXT
System color for static window text.
SYSCLR_SCROLLBAR
System color for scroll bar.
SYSCLR_BACKGROUND
System color for background.
SYSCLR_ACTIVETITLE
System color for active title.
SYSCLR_INACTIVETITLE
System color for inactive title.
SYSCLR_MENU
System color for a menu.
SYSCLR_MENUTEXT
System color for menu text.
SYSCLR_WINDOW
System color for a window.
SYSCLR_WINDOWTEXT
System color for window text.
SYSCLR_WINDOWFRAME
System color for a window frame.
SYSCLR_ACTIVEBORDER
System color for active border.
SYSCLR_INACTIVEBORDER
System color for inactive border.
SYSCLR_APPWORKSPACE
System color for application work space.
SYSCLR_HELPBACKGROUND
System color for help background.
SYSCLR_HELPTEXT
System color for help text.
SYSCLR_HELPHILITE
System color for help highlighting..

See Also:
PMWindow::color
Code:
public void color ( LONG type ,
LONG color )

method rectangle

? ^  < > 
Returns the window rectangle.
Source:
pm_window.h:390
Code:
public virtual PMRect rectangle ( ) const

method show

? ^  < > 
Makes the window visible.
Source:
pm_window.h:392
Code:
public virtual void show ( BOOL state = TRUE )

method hide

? ^  < > 
Makes the window invisible.
Source:
pm_window.h:394
Code:
public virtual void hide ( )

method is_visible

? ^  < > 
Is the window visible.

If the window's style is set to visible, TRUE is returned. Otherwise, FALSE is returned. A window can have the style visible and yet not be showing if it is covered by another window.

Source:
pm_window.h:404
Code:
public virtual BOOL is_visible ( )

method enable

? ^  < > 
Enables the window to accept keyboard and mouse input.
Source:
pm_window.h:407
Code:
public virtual void enable ( BOOL state = TRUE )

method disable

? ^  < > 
Prevents keyboard and mouse input from being sent to the window.
Source:
pm_window.h:409
Code:
public virtual void disable ( )

enum drop_type

? ^  < > 
Use these enumerators to specify various object types that can be dropped to window.
Source:
pm_window.h:417
Code:
public enum drop_type { drop_none = 0x0000 ,
drop_os2file = 0x0001 }

method enable_drop

? ^  < > 
Enables the window to accept dropped objects.
Source:
pm_window.h:420
Code:
public virtual void enable_drop ( LONG type )

method is_valid

? ^  < > 
Is the window valid.

If this object represents a valid window in the window system, TRUE is returned. If the window has yet to be created or has already been destroyed, FALSE is returned.

Source:
pm_window.h:430
Code:
public virtual BOOL is_valid ( ) const

method set_focus

? ^  < > 
Sets the input focus to the window.
Source:
pm_window.h:433
Code:
public virtual void set_focus ( )

method has_focus

? ^  < > 
Has focus.

If the window has the input focus, TRUE is returned. Otherwise, FALSE is returned.

Source:
pm_window.h:442
Code:
public virtual BOOL has_focus ( ) const

method invalidate

? ^  < > 
This method adds a region to a window's update region.

The update region is a subregion of a window that is deemed "invalid" or incorrect in visual terms and is in need of redrawing.

Source:
pm_window.h:452
Code:
public virtual void invalidate ( const PMRect & rect )

method invalidate

? ^  < > 
This method adds the whole window to a window's update region.

The update region is a subregion of a window that is deemed "invalid" or incorrect in visual terms and is in need of redrawing.

Source:
pm_window.h:462
Code:
public virtual void invalidate ( )

method capture_pointer

? ^  < > 
Captures mouse pointer.

If capture is true, pointer events are sent only to this window even if the pointer is outside of this window. If capture is false, the window releases the pointer capture. If you attempt to capture the pointer when another window currently is capturing the pointer, an exception is thrown.

Source:
pm_window.h:474
Code:
public virtual void capture_pointer ( BOOL capture = TRUE )

method release_pointer

? ^  < > 
Release mouse pointer.

Causes the window to release the pointer capture (pointer capture is set with the function capture_pointer).

This function causes mouse events to again be dispatched to the window underneath the mouse pointer.

Source:
pm_window.h:486
Code:
public virtual void release_pointer ( )

method has_pointer_captured

? ^  < > 
Has pointer captured.

If this window is currently capturing pointer events, true is returned. Otherwise, false is returned.

Source:
pm_window.h:495
Code:
public virtual BOOL has_pointer_captured ( ) const

method pointer

? ^  < > 
Sets the appearance used by the mouse pointer when it is over the window.

Source:
pm_window.h:526
Param:
id System-pointer identifier.

SPTR_DEFAULT
Default pointer, that is chosen by Presentation Manager.
SPTR_ARROW
Arrow pointer
SPTR_TEXT
Text I-beam pointer
SPTR_WAIT
Hourglass pointer
SPTR_SIZE
Size pointer
SPTR_MOVE
Move pointer
SPTR_SIZENWSE
Downward-sloping, double-headed arrow pointer
SPTR_SIZENESW
Upward-sloping, double-headed arrow pointer
SPTR_SIZEWE
Horizontal, double-headed arrow pointer
SPTR_SIZENS
Vertical, double-headed arrow pointer
SPTR_APPICON
Standard application icon pointer
SPTR_ICONINFORMATION
Information icon pointer
SPTR_ICONQUESTION
Question mark icon pointer
SPTR_ICONERROR
Exclamation mark icon pointer
SPTR_ICONWARNING
Warning icon pointer
SPTR_ILLEGAL
Illegal operation icon pointer
SPTR_FILE
Single file icon pointer
SPTR_MULTFILE
Multiple files icon pointer
SPTR_FOLDER
Folder icon pointer
SPTR_PROGRAM
Application program icon pointer
Code:
public virtual void pointer ( LONG id )

method pointer

? ^  < > 
Returns the mouse pointer used when the mouse is over the window.
Source:
pm_window.h:529
Code:
public virtual LONG pointer ( ) const

method attach_accelerators

? ^  < > 
Replaces the accelerator keys used by the window.

Source:
pm_window.h:540
Params:
res_id Accelerator-table identifier, within the resource file.
hmodule Module handle referencing a dynamic link library containing the resource or NULLHANDLE for the application's module.
Code:
public virtual void attach_accelerators ( SHORT res_id ,
HMODULE hmodule )

method detach_accelerators

? ^  < > 
Detaches the accelerator keys used by the window.
Source:
pm_window.h:546
Code:
public virtual void detach_accelerators ( )

method send

? ^  < > 
Sends a message to window.

This method sends a message with identity msg to window, passing mp1 and mp2 as the parameters to the window.

Source:
pm_window.h:556
Code:
public MRESULT send ( ULONG msg ,
MPARAM mp1 ,
MPARAM mp2 )

method post

? ^  < > 
Posts a message to window.

This method posts a message to the message queue associated with the window.

Source:
pm_window.h:567
Returns:
Success indicator.
Code:
public BOOL post ( ULONG msg ,
MPARAM mp1 ,
MPARAM mp2 )

method start_timer

? ^  < > 
This method starts a timer.

This method creates a timer identified by id, set to time out every timeout milliseconds. When a timer times out, a WM_TIMER message is posted.

A timeout value of zero causes the timer to timeout as fast as possible; generally, this is about 1/18 second.

A second call of this method, for a timer that already exists, resets that timer.

Source:
pm_window.h:583
Code:
public virtual void start_timer ( ULONG id ,
ULONG timeout )

method stop_timer

? ^  < > 
This method stops a timer.

When this method is called, no further messages are received from the stopped timer, even if it has timed out.

Source:
pm_window.h:592
Code:
public virtual void stop_timer ( ULONG id )

method auto_delete_object

? ^  < > 
Determines whether to delete the window object when the presentation window is destroyed.

The deletion occurs when the window system dispatches a destroy event to the window.

Source:
pm_window.h:602
Code:
public virtual void auto_delete_object ( BOOL state = TRUE )

method is_auto_delete_object

? ^  < > 
If the window object is deleted when a destroy event is dispatched to the window, TRUE is returned.
Source:
pm_window.h:609
Code:
public virtual BOOL is_auto_delete_object ( )

method handle_events

? ^  < > 
Handle events.

Attaches the handler to the PMWindow object. The windows's dispatch function is called to process all events sent or posted to the window.

Source:
pm_window.h:621
Code:
protected void handle_events ( )

method stop_handling_events

? ^  < > 
Stop handling events.

Detaches the handler from the PMWindow object. The window's dispatch function is no longer called to process events sent or posted to the window.

Source:
pm_window.h:631
Code:
protected void stop_handling_events ( )

method dispatch

? ^  < > 
Dispatch system native events.

PMWindow calls this function when a system native window event occurs.

Source:
pm_window.h:640
Code:
protected virtual MRESULT dispatch ( ULONG msg ,
MPARAM mp1 ,
MPARAM mp2 )

method dispatch_everything

? ^  < > 
Dispatch all not catched events.

A virtual method that provides default implementation for all events that occur on every window.

Source:
pm_window.h:649
Code:
protected virtual MRESULT dispatch_everything ( ULONG msg ,
MPARAM mp1 ,
MPARAM mp2 )

Created Fri Aug 3 09:13:16 2012.
This documentation was generated automatically by
ccdoc v08r39 2003/02/27 bin_opt_emx_os2-2.30.
Click here to submit a bug report or feature request for ccdoc.
Click here to return to the top of the page.