SimpleWindow
载入中...
搜索中...
未找到
Panel.h
1#pragma once
2
3#include "PanelBase.h"
4
5namespace sw
6{
10 enum class BorderStyle {
11 None = 0, // 无边框
12 Bump = EDGE_BUMP, // 突出的凸起边框
13 Etched = EDGE_ETCHED, // 刻痕式边框
14 Raised = EDGE_RAISED, // 凸起边框
15 Sunked = EDGE_SUNKEN, // 凹陷边框
16 };
17
21 class Panel : public PanelBase
22 {
23 private:
27 BorderStyle _borderStyle = sw::BorderStyle::None;
28
32 Thickness _padding;
33
34 public:
39
44
45 public:
50
51 protected:
56
60 virtual LRESULT WndProc(ProcMsg &refMsg) override;
61
68 virtual bool OnEraseBackground(HDC hdc, LRESULT &result) override;
69
74 virtual bool OnPaint() override;
75
81 virtual bool OnNcPaint(HRGN hRgn) override;
82
89 virtual void OnDrawBorder(HDC hdc, RECT &rect);
90
97 virtual void OnDrawPadding(HDC hdc, RECT &rect);
98 };
99}
面板类型的基类
Definition PanelBase.h:12
面板
Definition Panel.h:22
void UpdateBorder()
更新边框
virtual bool OnEraseBackground(HDC hdc, LRESULT &result) override
接收到WM_ERASEBKGND时调用该函数
const Property< sw::Thickness > Padding
面板的内边距
Definition Panel.h:43
virtual bool OnNcPaint(HRGN hRgn) override
接收到WM_NCPAINT时调用该函数
virtual void OnDrawPadding(HDC hdc, RECT &rect)
绘制内边距
Panel()
初始化面板
const Property< sw::BorderStyle > BorderStyle
边框样式
Definition Panel.h:38
virtual bool OnPaint() override
接收到WM_PAINT时调用该函数
virtual void OnDrawBorder(HDC hdc, RECT &rect)
绘制边框
virtual LRESULT WndProc(ProcMsg &refMsg) override
对WndProc的封装
属性
Definition Property.h:1743
对Windows窗口消息的封装
Definition ProcMsg.h:10
表示矩形区域周围边框的厚度
Definition Thickness.h:15