Sowl  1.0
Simple Object Window Library
sowl::Window Class Reference

Encapsulates a window handle. More...

#include <Window.h>

Inheritance diagram for sowl::Window:
sowl::ControlWindow sowl::WindowWithMessages sowl::ButtonWindow sowl::CustomWindow sowl::DialogWindow sowl::ModalDialogWindow sowl::ModelessDialogWindow

Public Member Functions

 Window (HWND hwnd)
 
 Window (const Window &other) = delete
 
 Window (Window &&other) noexcept
 
 ~Window ()
 Call Destroy().
 
void Destroy ()
 Release the encapsulated HWND if it is valid.
 
Window & operator= (const Window &other) = delete
 
Window & operator= (Window &&other) noexcept
 
HWND GetHandle () const
 
HINSTANCE GetProcessHandle () const
 Get the process handle (HINSTANCE) where the encapsulated handle window belongs to. More...
 
HWND GetDialogItem (int id) const
 Encapsulates a call to GetDlgItem. More...
 
bool Show (int nCmdShow) const
 Encapsulates a call to ShowWindow. More...
 
void Enable (bool enable)
 Encapsulates a call to EnableWindow. More...
 
bool IsEnabled ()
 Encapsulates a call to IsWindowEnabled. More...
 
void SetClassCursor (HCURSOR hcursor)
 Encapsulates a call to SetClassLong with index GCL_HCURSOR. More...
 
void SetText (LPCWSTR title)
 Encapsulates a call to SetWindowText. More...
 
bool InvalidateRect (bool erase)
 Encapsulates a call to InvalidateRect with lpRect to NULL. More...
 
bool InvalidateRect (const RECT &rect, bool erase)
 Encapsulates a call to InvalidateRect. More...
 
RECT GetClientRect ()
 Encapsulates a call to GetClientRect. More...
 

Protected Member Functions

void SetHandle (HWND handle)
 Set a window-handle to an expected unsetted Window object. If the Window object was already set, an exception is raised. This method is expected to be called inside a window-message-processing function which controls binding between a window-object and a window-handle.
 
void UnsetHandle ()
 Unset the window-handle. This method is expected to be called inside a window-message-processing function which controls binding between a window-object and a window-handle.
 

Detailed Description

Encapsulates a window handle.

Member Function Documentation

void Window::Enable ( bool  enable)

Encapsulates a call to EnableWindow.

Parameters
Indicateswhether to enable or disable the window.
RECT Window::GetClientRect ( )

Encapsulates a call to GetClientRect.

Returns
The client rect area.
HWND Window::GetDialogItem ( int  id) const

Encapsulates a call to GetDlgItem.

Parameters
idControl id.
Returns
Control handle.
HINSTANCE Window::GetProcessHandle ( ) const

Get the process handle (HINSTANCE) where the encapsulated handle window belongs to.

Returns
The process handle.
bool Window::InvalidateRect ( bool  erase)

Encapsulates a call to InvalidateRect with lpRect to NULL.

Parameters
eraseIndicates the invalidated area should be erased (using the window class brush) before be repainted.
Returns
Indicates if the method call was successful.
bool Window::InvalidateRect ( const RECT &  rect,
bool  erase 
)

Encapsulates a call to InvalidateRect.

Parameters
rectArea to be invalidated.
eraseIndicates the invalidated area should be erased (using the window class brush) before be repainted.
Returns
Indicates if the method call was successful.
bool Window::IsEnabled ( )

Encapsulates a call to IsWindowEnabled.

Returns
Indicates if the window is enabled.
void Window::SetClassCursor ( HCURSOR  hcursor)

Encapsulates a call to SetClassLong with index GCL_HCURSOR.

Parameters
hcursorThe cursor to be set.
void Window::SetText ( LPCWSTR  title)

Encapsulates a call to SetWindowText.

Parameters
titleThe window title to be set.
bool Window::Show ( int  nCmdShow) const

Encapsulates a call to ShowWindow.

Parameters
nCmdShowIndicates how the window is to be shown.
Returns
Indicates if the window was previously visible.

The documentation for this class was generated from the following files: