ReactOS  0.4.15-dev-425-gc40b086
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  }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
ResizeManager _resize_mgr
Definition: window.h:563

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 {
551  WINDOWPLACEMENT wp;
552  GetWindowPlacement(this->_hwnd, &wp);
553  prect->left = prect->top = 0;
559  }
560  }
#define SM_CYMENUSIZE
Definition: winuser.h:1008
LONG top
Definition: windef.h:307
#define SM_CXEDGE
Definition: winuser.h:998
LONG left
Definition: windef.h:306
LONG right
Definition: windef.h:308
BOOL WINAPI IsIconic(_In_ HWND)
#define SM_CYSIZEFRAME
Definition: winuser.h:985
#define SM_CYEDGE
Definition: winuser.h:999
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
#define SM_CXSIZEFRAME
Definition: winuser.h:983
#define SM_CYCAPTION
Definition: winuser.h:953
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
RECT rcNormalPosition
Definition: winuser.h:3270
LONG bottom
Definition: windef.h:309

Referenced by ResizeController< Dialog >::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) {
528  case PM_FRM_CALC_CLIENT:
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  }
#define TRUE
Definition: types.h:120
void HandleSize(int cx, int cy)
Definition: window.cpp:788
void SetMinMaxInfo(LPMINMAXINFO lpmmi)
Definition: window.h:500
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
#define PM_FRM_CALC_CLIENT
Definition: window.h:387
#define WM_SIZE
Definition: winuser.h:1593
#define SIZE_MINIMIZED
Definition: winuser.h:2481
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
Definition: solitaire.cpp:598
ResizeManager _resize_mgr
Definition: window.h:563
#define HIWORD(l)
Definition: typedefs.h:246
virtual void GetClientSpace(PRECT prect)
Definition: window.h:546
#define WM_GETMINMAXINFO
Definition: winuser.h:1622
#define LOWORD(l)
Definition: pedump.c:82
static UINT WPARAM wparam
Definition: combo.c:716

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< Dialog >::WndProc().


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