Windows GDI:CDC绘制ICON

一、 DrawIcon

函数原型:

BOOL CDC::DrawIcon(
   int x,
   int y,
   HICON hIcon 
);

功能:

在指定位置绘制ICON,无论ICON实际的大小为多少,绘制的大小均为Windows系统默认的ICON大小,一般为32x32。

二、 DrawIconEx

函数原型:

BOOL DrawIconEx(
    HDC hdc,
    int xLeft,
    int yTop,
    HICON hIcon,
    int cxWidth,
    int cyWidth,
    UINT istepIfAniCur,           // 一般为0
    HBRUSH hbrFlickerFreeDraw,   // 一般为NULL
    UINT diFlags                    // 一般为DI_NORMAL | DI_COMPAT
);

xLeft, yTop: 指定位置
cxWidth, cyWidth:
指定绘制大小
1. 按ICON的实际尺寸绘制: 设置cxWidth=0, cyWidth=0,并且在diFlags不指定DI_DEFAULTSIZE
2. 按Windows系统默认的ICON大小(一般为32x32)绘制: 在diFlags指定DI_DEFAULTSIZE
3. 按cxWidth, cyWidth指定的大小绘制: cxWidth,cyWidth不为0, 在diFlags不指定DI_DEFAULTSIZE

示例一:按ICON的实际尺寸绘制

::DrawIconEx(hdc, 0, 0, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT);

示例二:按Windows系统默认的ICON大小(一般为32x32)绘制

::DrawIconEx(hdc, 0, 0, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE);

示例三:按指定大小绘制

::DrawIconEx(dc.GetSafeHdc(), 0, 0, hIcon, 60, 60, 0, NULL, DI_NORMAL | DI_COMPAT);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值