📄 ptctrlbase.h
字号:
#ifndef _PT_CTRL_BASE_
#define _PT_CTRL_BASE_
#define PT_SET_BIG(A,B) (A) = (A) > (B) ? (A) : (B)
#define PT_SET_SMALL(A,B) (A) = (A) > (B) ? (B) : (A)
struct PtCtrlBase;
typedef INT (*PtCtrlFunPtr)(PtCtrlBase* pPtCtl = NULL,INT tx = -1, INT ty = -1);
typedef enum
{
PtCtrlType_Unknown = -1,
PtCtrlType_PlyRgn,
PtCtrlType_RectRgn,
PtCtrlType_Eraser,
PtCtrlType_Fill,
PtCtrlType_GetColor,
PtCtrlType_Zoom,
PtCtrlType_Point,
PtCtrlType_Brush,
PtCtrlType_Frog,
PtCtrlType_Text,
PtCtrlType_Line,
PtCtrlType_Bezzer,
PtCtrlType_Rect,
PtCtrlType_Plyon,
PtCtrlType_Circle,
PtCtrlType_CirRect,
PtCtrlType_Count
}PtCtrl_Type;
typedef enum
{
PtCtrlState_Unknown = -1,
PtCtrlState_Enable,
PtCtrlState_Disable,
}PtCtrl_State;
#define PT_MOUSE_DOWN 0x01
#define PT_MOUSE_RELEASE 0x02
#define PT_MOUSE_MOVE 0x04
struct PtCtrlBase
{
INT m_ctrl_id;
ULONG m_ctrl_style;
HDC m_pdc;
INT m_state;
INT m_mouse_state;
INT m_cx;
INT m_cy;
BOOLEAN m_last_draw_flag;
PtCtrlFunPtr PtCtrl_Init;
PtCtrlFunPtr PtCtrl_Destroy;
PtCtrlFunPtr PtCtrl_OnPaintStart;
PtCtrlFunPtr PtCtrl_OnPaintEnd;
PtCtrlFunPtr PtCtrl_OnStyleChange;
PtCtrlFunPtr PtCtrl_OnColorChange;
PtCtrlFunPtr PtCtrl_OnMouseDown;
PtCtrlFunPtr PtCtrl_OnMouseMove;
PtCtrlFunPtr PtCtrl_OnMouseRelease;
PtCtrlFunPtr PtCtrl_OnDrawBoard;
PtCtrlFunPtr PtCtrl_OnDrawStyle;
};
//LRESULT CALLBACK PtWinCtrl_Proc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
INT InitPbCtrlBase(PtCtrlBase * pPtCtlBase);
INT PtWinCtrlBase_OnCommand(PtCtrlBase* pPtCtl,INT tx = -1, INT ty = -1);
INT PtCtrlBase_Init(PtCtrlBase* pPtCtl,INT tx = -1, INT ty = -1);
INT PtCtrlBase_Destroy(PtCtrlBase* pPtCtl,INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnPaintStart(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnPaintEnd(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnStyleChange(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnColorChange(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnMouseDown(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnMouseMove(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnMouseRelease(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnDrawBoard(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
INT PtCtrlBase_OnDrawStyle(PtCtrlBase* pPtCtl, INT tx = -1, INT ty = -1);
//////////////////////////////////////////////////////////////////////////
#if defined DEBUG
extern void dbg_out(const TCHAR* fmt);
#endif
INT PtCreateRect(INT cx1 ,INT cy1, INT cx2, INT cy2, INT max_x, INT max_y, LPRECT rt);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -