neoWidgets
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
Classes | Public Member Functions | Static Public Attributes | List of all members
neo::WindowModal Class Reference

This window can enter a modal message loop. More...

#include <WindowModal.h>

Inheritance diagram for neo::WindowModal:
Inheritance graph
[legend]

Public Member Functions

 WindowModal ()
 
int DoModal (bool blockEntireThread=true)
 
void EndModal (int result)
 
bool IsModal ()
 
- Public Member Functions inherited from neo::Window
bool Create (const WindowParam &param)
 
- Public Member Functions inherited from neo::WindowBase
 WindowBase (const WindowBase &rhs)
 
void Attach (HWND handle, NEO_WINDOW_MODE mode)
 
template<typename MESSAGE >
void Bind (UINT message, void(*function)(MESSAGE &))
 
template<typename MESSAGE , typename FUNCTOR >
void Bind (UINT message, FUNCTOR function)
 
template<typename CLASS , typename MESSAGE , typename HANDLER >
void Bind (UINT message, void(CLASS::*function)(MESSAGE &), HANDLER *handler)
 
template<typename MESSAGE >
void Bind (const MessageId &message, void(*function)(MESSAGE &))
 
template<typename MESSAGE , typename FUNCTOR >
void Bind (const MessageId &message, FUNCTOR function)
 
template<typename CLASS , typename MESSAGE , typename HANDLER >
void Bind (const MessageId &message, void(CLASS::*function)(MESSAGE &), HANDLER *handler)
 
void Clear ()
 
void Create (DWORD exStyle, const tstring &cls, const tstring &text, DWORD style, const Rect &r, HWND parent, HMENU menu, NEO_WINDOW_MODE mode)
 
LRESULT DefaultWndProc (HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
 
void Destroy ()
 
void DragAcceptFiles (bool accept=true)
 
void Enable (bool enable)
 
LRESULT GenerateMessage (UINT message, WPARAM wp, LPARAM lp) const
 
Rect GetClientRect () const
 
DWORD GetExStyle () const
 
HFONT GetFont () const
 
HWND GetHandle () const
 
HICON GetIcon (bool bigIcon) const
 
DWORD GetID () const
 
HMENU GetMenu () const
 
HWND GetParentHandle () const
 
Rect GetRectOnParent () const
 
DWORD GetStyle () const
 
tstring GetText () const
 
Rect GetWindowRect () const
 
void Hide ()
 
bool Invalidate (const RECT *rect=0, bool eraseBkgnd=true)
 
bool IsEnabled () const
 
bool IsMessageHandlerBound (UINT message) const
 
bool IsVisible () const
 
void KillTimer (int timerID)
 
void ModifyStyle (DWORD add, DWORD remove)
 
void Move (int x, int y, bool redraw=true)
 
void Move (const POINT &p, bool redraw=true)
 
void Move (int x, int y, int width, int height, bool redraw=true)
 
void Move (const POINT &p, const SIZE &s, bool redraw=true)
 
void Move (const RECT &r, bool redraw=true)
 
 operator HWND () const
 
WindowBaseoperator= (const WindowBase &rhs)
 
bool Redraw (const RECT *rect=0, HRGN region=0, UINT flags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
 
void SetClientSize (int width, int height)
 
HWND SetFocus ()
 
void SetFont (HFONT font, bool redraw=true)
 
HICON SetIcon (HICON icon, bool bigIcon)
 
void SetMenu (HMENU menu)
 
void SetRedraw (bool allowRedraw)
 
void SetText (const tstring &text)
 
UINT_PTR SetTimer (int timerID, UINT interval, TIMERPROC proc=0)
 
void Show (bool show=true)
 
void UnBind (UINT message)
 
void UnBind (const MessageId &message)
 
virtual LRESULT WndProc (HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
 Can be overridden for old school message handling. More...
 

Static Public Attributes

static const int MODAL_ERROR = -1
 

Additional Inherited Members

- Static Public Member Functions inherited from neo::WindowBase
static HCURSOR GetDefaultCursor ()
 
static HFONT GetDefaultFont ()
 
static HICON GetDefaultIcon ()
 
static WindowBaseGetWindowFromHWND (HWND _handle)
 
static void SetDefaultCursor (HCURSOR cursor)
 
static void SetDefaultFont (HFONT font)
 
static void SetDefaultIcon (HICON icon)
 
static LRESULT CALLBACK StaticWndProc (HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
 

Detailed Description

This window can enter a modal message loop.

First create the window without WS_VISIBLE, then call DoModal() to start the loop. All other windows in the thread will be disabled while the modal loop runs.

Constructor & Destructor Documentation

neo::WindowModal::WindowModal ( )
inline

Empty ctor.

Member Function Documentation

int neo::WindowModal::DoModal ( bool  blockEntireThread = true)
inline

Shows the modal window and waits until EndModal() is called or WM_QUIT is received.

Parameters
blockEntireThreadIf true, all windows in the thread are disable, otherwise only the immediate parent of this window is disabled.
Returns
Either the parameter from EndModal() or MODAL_ERROR if an error occured.
void neo::WindowModal::EndModal ( int  result)
inline

Break the modal message loop.

Parameters
resultThe result that DoModal() should return.
bool neo::WindowModal::IsModal ( )
inline

Check if the modal message loop is active.

Member Data Documentation

const int neo::WindowModal::MODAL_ERROR = -1
static

This is returned by DoModal() if an error occured.


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