reactos/base/applications/mspaint/toolbox.h
Katayama Hirofumi MZ 83e83bfd2c
[MSPAINT] Allow ToolBox to be right-aligned (#5213)
The user will be able to move ToolBox in the main window by dragging.
- Add Bar2ID registry setting.
- Add CPaintToolBar class to encapsulate the toolbar code.
- Capture and track the mouse dragging in CToolBox.
- Move the ToolBox if dragging is beyond the center position.
CORE-18867
2023-04-03 14:34:56 +09:00

52 lines
1.8 KiB
C++

/*
* PROJECT: PAINT for ReactOS
* LICENSE: LGPL
* FILE: base/applications/mspaint/toolbox.h
* PURPOSE: Window procedure of the main window and all children apart from
* hPalWin, hToolSettings and hSelection
* PROGRAMMERS: Benedikt Freisen
*/
#pragma once
#define TOOLBAR_ROWS 8
#define TOOLBAR_COLUMNS 2
#define CXY_TB_BUTTON 25
#define CX_TOOLBAR (TOOLBAR_COLUMNS * CXY_TB_BUTTON)
#define CY_TOOLBAR (TOOLBAR_ROWS * CXY_TB_BUTTON)
class CPaintToolBar : public CWindow
{
public:
BOOL DoCreate(HWND hwndParent);
};
class CToolBox : public CWindowImpl<CToolBox>
{
public:
DECLARE_WND_CLASS_EX(_T("ToolBox"), CS_DBLCLKS, COLOR_BTNFACE)
BEGIN_MSG_MAP(CToolBox)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SYSCOLORCHANGE, OnSysColorChange)
MESSAGE_HANDLER(WM_COMMAND, OnCommand)
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp)
MESSAGE_HANDLER(WM_TOOLSMODELTOOLCHANGED, OnToolsModelToolChanged)
END_MSG_MAP()
BOOL DoCreate(HWND hwndParent);
private:
CPaintToolBar toolbar;
LRESULT OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnSysColorChange(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnCommand(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnMouseMove(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnToolsModelToolChanged(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
};