1

ツールバーがあり、次の手順を使用して、ツール ボタンの 1 つの四角形の色を変更しています。ColorDepthImageList の はでcl24Bitあり、DrawingStyleは ですdsTransparent。手順は正常に機能します。

procedure TANewMain.BtReplaceHighOnClick(Sender: TObject);
var
  ABitmap: TBitmap;
  ARect: TRect;
begin
  ABitmap := TBitmap.Create;
  try
    ImgList.GetBitmap(1, ABitmap);
    ABitmap.Canvas.Brush.Color := ColorToRGB(clRed); // S04
    ABitmap.Canvas.Pen.Color := ColorToRGB(clBlue);
    ARect := Rect(5, 1, 11, 15);
    ABitmap.Canvas.Rectangle(ARect);
    ImgList.ReplaceMasked(1, ABitmap, clWhite);
  finally
    ABitmap.Free;
  end;
end;

プログラムを再利用するためにリポジトリに追加すると、正常に動作します。ただし、新しいプログラムをゼロから開始してまったく同じ手順を使用すると、白いボタンが表示されます。画像リストとツールバーのプロパティが両方のプログラムで同じであることを確認しました。動作するプログラムは、少し前に書かれたものです。この問題は、Windows の更新プログラムと関係がありますか? Windows 10 と Delphi 10 を使用しています。

4

1 に答える 1