窗口自绘-炫彩与GDI+混合自绘(圆,空心圆,圆弧)-C++

红色使用GDI+ 绘制

蓝色使用炫彩绘制

炫彩内部已经初始化了GDI+, 索引 只要包含GDI+ 头文件即可

全部代码:

class CMyWindowButton
{
public:
HWINDOW m_hWindow;
CMyWindowButton() {
Init();
}
void Init()
{
m_hWindow = XWnd_Create(0, 0, 400, 220, L”炫彩界面库窗口”, NULL, xc_window_style_default);
HELE hButton_close = XBtn_Create(20, 5, 60, 20, L”close”, m_hWindow);
XBtn_SetType(hButton_close, button_type_close);

XWnd_RegEventCPP(m_hWindow, WM_PAINT, &CMyWindowButton::OnWndDrawWindow);
XWnd_ShowWindow(m_hWindow, SW_SHOW);
}
int OnWndDrawWindow(HDRAW hDraw, BOOL* pbHandled)
{
*pbHandled = TRUE;
XWnd_DrawWindow(m_hWindow, hDraw);

/////////////// GDI+绘制 ///////////////////////////////////////
int offsetx =0, offsety = 0;
XDraw_GetOffset(hDraw, &offsetx, &offsety);
HDC hdc= XDraw_GetHDC(hDraw);
Graphics graph(hdc);
graph.SetSmoothingMode(SmoothingModeHighQuality);
int left = 20 – offsetx;
int top = 50 – offsety;
Color clr(255, 255,0,0);
SolidBrush brush(clr);
graph.FillEllipse(&brush, left, top, 50, 50); left += 60; //绘制圆

Pen pen1(clr, 1);
graph.DrawEllipse(&pen1, left, top, 50, 50); left += 60;

Pen pen2(clr, 10);
graph.DrawEllipse(&pen2, left+ 10/2, top +10/2, 50-10, 50-10);

Pen pen(Color(255, 255, 0, 0),10);
//使用路径绘制
// GraphicsPath path;
// path.AddArc(175, 50, 50, 50, 0, -180);
// graph.DrawPath(&pen, &path);

left += 60;
graph.DrawArc(&pen, left, top, 100, 100, -90, 270); //绘制圆弧

///////////// 炫彩绘制 /////////////////////////////////////////////
left = 20;
top = 101;
XDraw_EnableSmoothingMode(hDraw, TRUE);

RECT rc = { left, top, left + 50, top + 50 };
XDraw_FillEllipse(hDraw, &rc); //绘制圆

rc.left += 60;
rc.right += 60;
XDraw_DrawEllipse(hDraw, &rc);

rc.left += 60;
rc.right += 60;
XDraw_SetLineWidth(hDraw, 10);
XDraw_DrawEllipse(hDraw, &rc);

XDraw_DrawArc(hDraw, rc.right +10, 101, 100,100, -90,270);

XDraw_TextOutEx(hDraw, 50, 180, L”123ABC炫彩界面库”);
return 0;
}
};

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI();
CMyWindowButton MyWindow;
XRunXCGUI();
XExitXCGUI();
return 0;
}

1. 本站鼓励用户发布原创内容,但并不保证每个人都遵守这一点,若内容侵犯了你的权益可联系管理员删除!
2. 本站资源,除文章特别指明外,均限定付费者本人使用,禁止二次 转载 传播 分发!
3. 本站资源多为第三方用户投稿 定价由资源提供者设定 收益人为资源提供者大家下载资源前仔细甄别需求与其描述是否可达预期 除非较明显的与说明不符资源外的纠纷尽量与作者点对点直接解决
4. 资源提供者发布作品请提供作品详细说明 与 截图 源码作品若引用了 其它模块或依赖请诚实说明 明细与版本!以及依赖是否开源。尽量做到资源下载后 可以直接使用与运行
5. 本站资源会员享受折扣开一个吧只有这个才是站长能拿到手的

炫彩界面库 » 窗口自绘-炫彩与GDI+混合自绘(圆,空心圆,圆弧)-C++

发表评论