绘图(VC_Win32)

本文详细介绍了在Windows GUI环境中进行绘图的步骤和方法,包括获取和释放设备描述表资源,描绘图形,处理位图,输出文本,以及设置画刷、画笔和字体等。通过代码示例展示了如何使用BeginPaint、GetDC等函数,以及各种绘图函数如Rectangle、Ellipse等,还涵盖了位图的加载和显示,以及文本输出的相关操作。
摘要由CSDN通过智能技术生成

GUI作图概述


作图步骤

  • 获得设备描述表资源句柄
  • 绘图操作
  • 释放设备描述表资源句柄

流程图如下:

获取/释放设备资源描述表

  • 获取设备资源描述表:   BeginPaint / GetDC
  • 释放设备资源描述表:  EndPaint / ReleaseDC

BeginPaint / GetDC 两种方式的区别:

             BeginPaint            GetDC            
使用环境         只用于图形刷新时获取设备环境   使用较为广泛
操作区域         无效区              特定窗口的客户区或者整个窗口
释放设备环境所用函数   ReleaseDC ()          EndPaint ()

代码示例:

在 WM_PAINT 添加 BeginPaint 事件,在 WM_LBUTTONDOWN 添加 GetDC 事件.

BeginPaint 使用:

//获得资源DC
hdc=BeginPaint(hwnd,&ps);
//获得窗口大小
GetClientRect(hwnd,&rect);
//绘制文本
DrawText(hdc,"hellow my first windows program",strlen("hellow my first windows program"),&rect,
    DT_SINGLELINE | DT_CENTER | DT_VCENTER);
//释放资源DC
EndPaint(hwnd,&ps);

 GetDC 使用: 

//获得设备资源描述表
hdc = GetDC(hwnd);
//绘制带圆角矩形
RoundRect(hdc,10,10,110,60,10,10);
//释放设备资源描述表
ReleaseDC(hwnd,hdc);

程序源码

运行结果:

单击鼠标右键和重绘窗口时

在单击鼠标右键后

绘图操作分类

  • 描绘图形
  • 位图
  • 文本输出

与设备描述表相关函数

  • 背景色:  GetBkColor  SetBkColor
  • 背景模式:  GetBkMode  SetBkMode
  • 位图:  CreateBitMap  CreateBitMapIndirect  CreateCompatibleBitmap  SelectObject
  • 画刷:  CreateBrushIndirect  CreateDIBPatternBrush  CreateHatchBrush  CreatePatternBrush  CreateSolidBrush  Sele
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值