2 * PROJECT: PAINT for ReactOS
4 * FILE: base/applications/mspaint_new/selection.h
5 * PURPOSE: Window procedure of the selection window
6 * PROGRAMMERS: Benedikt Freisen
9 class CSelectionWindow
: public CWindowImpl
<CSelectionWindow
>
12 DECLARE_WND_CLASS_EX(_T("Selection"), CS_DBLCLKS
, COLOR_BTNFACE
)
14 BEGIN_MSG_MAP(CSelectionWindow
)
15 MESSAGE_HANDLER(WM_PAINT
, OnPaint
)
16 MESSAGE_HANDLER(WM_ERASEBKGND
, OnEraseBkgnd
)
17 MESSAGE_HANDLER(WM_CREATE
, OnCreate
)
18 MESSAGE_HANDLER(WM_SYSCOLORCHANGE
, OnSysColorChange
)
19 MESSAGE_HANDLER(WM_SETCURSOR
, OnSetCursor
)
20 MESSAGE_HANDLER(WM_LBUTTONDOWN
, OnLButtonDown
)
21 MESSAGE_HANDLER(WM_MOUSEMOVE
, OnMouseMove
)
22 MESSAGE_HANDLER(WM_LBUTTONUP
, OnLButtonUp
)
25 LRESULT
OnPaint(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
26 LRESULT
OnEraseBkgnd(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
27 LRESULT
OnCreate(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
28 LRESULT
OnSysColorChange(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
29 LRESULT
OnSetCursor(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
30 LRESULT
OnLButtonDown(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
31 LRESULT
OnMouseMove(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
32 LRESULT
OnLButtonUp(UINT nMsg
, WPARAM wParam
, LPARAM lParam
, BOOL
& bHandled
);
35 static const LPCTSTR m_lpszCursorLUT
[9];
41 DWORD m_dwSystemSelectionColor
;
43 int IdentifyCorner(int iXPos
, int iYPos
, int iWidth
, int iHeight
);
46 void ForceRefreshSelectionContents();