【发布时间】:2019-10-05 07:13:21
【问题描述】:
CDC 像 DrawText() 这样的方法采用 rect 参数来剪辑文本。
如何使用DrawIcon() 或DrawIconEx() 剪辑图标的绘制?
【问题讨论】:
标签: user-interface mfc icons custom-controls
CDC 像 DrawText() 这样的方法采用 rect 参数来剪辑文本。
如何使用DrawIcon() 或DrawIconEx() 剪辑图标的绘制?
【问题讨论】:
标签: user-interface mfc icons custom-controls
可以将剪辑区域临时添加到 CDC 以实现此目的。
hiconMyIcon = AfxGetApp()->LoadIcon( IDI_MY_ICON );
CRgn rgn;
rgn.CreateRectRgnIndirect( &rect );
pdc->SelectClipRgn( &rgn );
pdc->DrawIcon( rect.left, rect.top, hiconMyIcon );
// or if you want a specific size of icon:
// DrawIconEx( pdc->GetSafeHdc(), rect.left, rect.top,
// hiconMyIcon, 16, 16, 0, 0, DI_NORMAL );
pdc->SelectClipRgn( NULL );
【讨论】: