2017-10-19 10 views
1

デルファイ10.2東京私はTAniIndicatorをデータベースが読み込まれるまで使用します。TAniIndicatorの色を変更してください

デフォルトでは、バブルの色はブラックです。 に変更し、Styleを作成せずに変更したいと思います。私はそのための財産は見つけていない。

変更方法はありますか?おかげさまで

あなたは(デフォルトのスタイルのために)このような何かを行うことができます
+0

スタイルブックを追加し、compoentのスタイルを編集します。 –

+0

はい、それはAniIndicatorと少し違っていますが、コンポーネントの詳細は表示されませんでしたか? – Bosshoss

答えて

5

、あなたはバブルを作るためにReplaceBlackColor機能を改善する必要がありますのでご注意真っ白

procedure ReplaceBlackColor(const ABitmap: TBitmap); 
var 
    I, J: Integer; 
    M: TBitmapData; 
    C: PAlphaColorRec; 
begin 
    if ABitmap.Map(TMapAccess.ReadWrite, M) then 
    try 
    for J := 0 to ABitmap.Height - 1 do 
     for I := 0 to ABitmap.Width - 1 do 
     begin 
     C := @PAlphaColorArray(M.Data)[J * (M.Pitch div 4) + I]; 
     if C^.Color = TAlphaColorRec.Black then 
      C^.Color := TAlphaColorRec.White; 
     end; 
    finally 
    ABitmap.Unmap(M); 
    end; 
end; 

procedure TForm3.Button1Click(Sender: TObject); 
var 
    bla: TBitmapListAnimation; 
begin 
    bla := AniIndicator1.FindStyleResource('ani') as TBitmapListAnimation; 
    ReplaceBlackColor(bla.AnimationBitmap); 
end; 
+0

これで、すべてのフレームでそのボタンをクリックしようとしています:)? – Victoria

+0

@Victoriaすべてのフレームが単一のビットマップにあります。 – EugeneK

+0

ありがとう!それは分かりませんでした(それは単なる悪い冗談だったので、インデックスのないAnimationBitmapは1つのフレームになるとは思っていませんでした)。私は(コントロールの 'ApplyStyle'メソッドで設定されているように)外部から' FFill'メンバを変更する方法を調べていましたが、運はありません。 FMXの経験は非常に限られています。 – Victoria

関連する問題