【问题标题】:MFC/Windows: How can drawing an icon be limited to a rectangle?MFC/Windows:如何将图标的绘制限制为矩形?
【发布时间】:2019-10-05 07:13:21
【问题描述】:

CDCDrawText() 这样的方法采用 rect 参数来剪辑文本。

如何使用DrawIcon()DrawIconEx() 剪辑图标的绘制?

【问题讨论】:

    标签: user-interface mfc icons custom-controls


    【解决方案1】:

    可以将剪辑区域临时添加到 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 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多