ツールバーがあり、次の手順を使用して、ツール ボタンの 1 つの四角形の色を変更しています。ColorDepth
ImageList の はで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 を使用しています。