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 に答える