0

我正在开发一个旧的 MFC 应用程序。该应用程序使用一些应用于按钮的图标,例如:

m_btnMyButton.SetIcon(IDI_ICON21, BS_CENTER, IDI_ICON21);

我希望将图标放在按钮的中心,但是,图标本身并不居中。基本上它们似乎被随机数量所抵消。例如:(在此处输入图像描述我添加了黑色矩形来显示我的意思)。

我知道我可以在编译资源之前“修剪”这些图标的空白/使这些图标居中。(我知道ImageMagik可以为我批量执行此操作。)但我不想更改磁盘上的原始图标(可能在其他地方使用) .

我想要做的可能是在我的代码中创建一个函数,在应用图标之前进行此修剪。这样我就不需要担心任何新的或错过的图标。

谁能提供一些关于如何“修剪”我的代码中的图标的见解?需要记住,这些图标的偏移量是随机的,所以我需要先找到要修剪的偏移量。

4

2 回答 2

-1

如果您将按钮定义为所有者绘制,则可以在渲染按钮时将图标放置在您想要的任何位置。

于 2013-10-21T12:52:16.483 回答
-1

创建一个执行以下操作的函数:

  1. 创建一个DC大小的图标。
  2. DC用透明颜色填充。
  3. DrawIcon使用您想要的 x/y 偏移量使用 api 绘制图标。
  4. 从此位图创建一个新图标。
于 2013-10-24T22:15:09.880 回答