MFC 中的 OwnerDrawn 控件

Posted

技术标签:

【中文标题】MFC 中的 OwnerDrawn 控件【英文标题】:OwnerDrawn control in MFC 【发布时间】:2008-12-22 21:59:49 【问题描述】:

我正在创建一个 MFC 应用程序,其中有一个皮肤库,用于处理呈现控件的 UI 效果(在 oninitdialog 中调用它)。但是,与此同时,我还需要在按钮上显示一个图标。为此,我将按钮标记为 ownerdrawn=true,并且能够显示图标,但在这种情况下,那些由我完成所有者绘制的按钮不会发生皮肤效果。所以,我的问题是,我如何确保控件被我以及任何其他库所拥有。

【问题讨论】:

【参考方案1】:

调用 OnPaint 的默认处理程序以确保蒙皮库有机会绘制按钮,然后在顶部绘制您自己的内容。

void OnPaint()

    Default();
    CClientDC dc(this);
    // your painting code goes here

【讨论】:

【参考方案2】:

您不需要自绘来在按钮中显示图标!

【讨论】:

CMFCButton 也可以来救援!

以上是关于MFC 中的 OwnerDrawn 控件的主要内容,如果未能解决你的问题,请参考以下文章

Ownerdrawn托盘图标(winapi)?

关于MFC中的tree控件

如何改变mfc对话框中的控件中的字体大小

Qt 选项卡小部件中的 MFC 控件

如何访问 MFC 中的 activex 控件?

mfc中如何读取combobox控件中的内容