鱼C论坛

 找回密码
 立即注册
查看: 3445|回复: 0

[知识点备忘] 第019讲:窗口绘画:边框绘制函数

[复制链接]
发表于 2015-8-29 12:08:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
知识点回顾:


1. 几个绘制曲线的函数:

Rectangle  ——  绘制矩形

Ellipse  ——  绘制椭圆形

RoundRect  ——  绘制带圆角矩形

Arc  ——  绘制弧线

Chord  ——  将弧的两个端点连接成一条弦,然后弦和弧共同组成一个封闭的区域

Pie  ——  将弧的两个端点和椭圆的中心点连接在一起,形成一个扇形的封闭区域


2. 绘制以下图形:

4.png

关键代码清单:

  1.         case WM_SIZE:
  2.                 cxClient = LOWORD(lParam);
  3.                 cyClient = HIWORD(lParam);
  4.                 return 0;

  5.         case WM_PAINT:
  6.                 hdc = BeginPaint(hwnd, &ps);
  7.                
  8.                 // 先画最外边的矩形,因为它在最底层
  9.                 Rectangle(hdc, cxClient / 8, cyClient / 8, 7 * cxClient / 8, 7 * cyClient / 8);
  10.                
  11.                 // 接着画两条交叉的线
  12.                 MoveToEx(hdc, 0, 0, NULL);
  13.                 LineTo(hdc, cxClient, cyClient);

  14.                 MoveToEx(hdc, 0, cyClient, NULL);
  15.                 LineTo(hdc, cxClient, 0);

  16.                 // 再画一个椭圆,把交叉线的一部分给覆盖掉
  17.                 Ellipse(hdc, cxClient / 8, cyClient / 8, 7 * cxClient / 8, 7 * cyClient / 8);

  18.                 // 最后再椭圆的中间画一个圆角矩形
  19.                 RoundRect(hdc, cxClient / 4, cyClient / 4, 3 * cxClient / 4, 3 * cyClient / 4, cxClient / 4, cyClient / 4);

  20.                 EndPaint(hwnd, &ps);
  21.                 return 0;
复制代码




小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 01:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表