ReactOS 0.4.16-dev-336-gb667d82
ResizeController< BASE > Struct Template Reference

Controller base template class for resizable dialogs. More...

#include <window.h>

Inheritance diagram for ResizeController< BASE >:
Collaboration diagram for ResizeController< BASE >:

Public Types

typedef BASE super
 

Public Member Functions

 ResizeController (HWND hwnd)
 
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
virtual void GetClientSpace (PRECT prect)
 

Protected Attributes

ResizeManager _resize_mgr
 

Detailed Description

template<typename BASE>
struct ResizeController< BASE >

Controller base template class for resizable dialogs.

Definition at line 515 of file window.h.

Member Typedef Documentation

◆ super

template<typename BASE >
typedef BASE ResizeController< BASE >::super

Definition at line 517 of file window.h.

Constructor & Destructor Documentation

◆ ResizeController()

template<typename BASE >
ResizeController< BASE >::ResizeController ( HWND  hwnd)
inline

Definition at line 519 of file window.h.

520 : super(hwnd),
522 {
523 }
ResizeManager _resize_mgr
Definition: window.h:563
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

Member Function Documentation

◆ GetClientSpace()

template<typename BASE >
virtual void ResizeController< BASE >::GetClientSpace ( PRECT  prect)
inlinevirtual

Definition at line 546 of file window.h.

547 {
548 if (!IsIconic(this->_hwnd)) {
549 GetClientRect(this->_hwnd, prect);
550 } else {
552 GetWindowPlacement(this->_hwnd, &wp);
553 prect->left = prect->top = 0;
559 }
560 }
RECT rcNormalPosition
Definition: winuser.h:3298
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
#define SM_CYEDGE
Definition: winuser.h:1012
#define SM_CXEDGE
Definition: winuser.h:1011
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
BOOL WINAPI IsIconic(_In_ HWND)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
#define SM_CXSIZEFRAME
Definition: winuser.h:996
#define SM_CYMENUSIZE
Definition: winuser.h:1021
#define SM_CYCAPTION
Definition: winuser.h:966
#define SM_CYSIZEFRAME
Definition: winuser.h:998
int WINAPI GetSystemMetrics(_In_ int)

Referenced by ResizeController< BASE >::WndProc().

◆ WndProc()

template<typename BASE >
LRESULT ResizeController< BASE >::WndProc ( UINT  nmsg,
WPARAM  wparam,
LPARAM  lparam 
)
inline

Definition at line 525 of file window.h.

526 {
527 switch(nmsg) {
530 return TRUE;
531
532 case WM_SIZE:
533 if (wparam != SIZE_MINIMIZED)
535 goto def;
536
537 case WM_GETMINMAXINFO:
539 goto def;
540
541 default: def:
542 return super::WndProc(nmsg, wparam, lparam);
543 }
544 }
@ lparam
Definition: SystemMenu.c:31
@ wparam
Definition: SystemMenu.c:30
#define TRUE
Definition: types.h:120
#define PM_FRM_CALC_CLIENT
Definition: window.h:387
#define LOWORD(l)
Definition: pedump.c:82
virtual void GetClientSpace(PRECT prect)
Definition: window.h:546
void SetMinMaxInfo(LPMINMAXINFO lpmmi)
Definition: window.h:500
void HandleSize(int cx, int cy)
Definition: window.cpp:788
#define HIWORD(l)
Definition: typedefs.h:247
#define WM_SIZE
Definition: winuser.h:1614
#define SIZE_MINIMIZED
Definition: winuser.h:2509
#define WM_GETMINMAXINFO
Definition: winuser.h:1643

Member Data Documentation

◆ _resize_mgr

template<typename BASE >
ResizeManager ResizeController< BASE >::_resize_mgr
protected

Definition at line 563 of file window.h.

Referenced by ResizeController< BASE >::WndProc().


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