DelphiのHUD機能をfiremonkeyでhttps://github.com/jdg/MBProgressHUDに複製したいと考えています。firemonkeyのHUDウィンドウの作成方法
これがiPhoneでどのように見えるかです:
主な問題は、半透明の&フォームが完全に境界線を削除します方法です。
DelphiのHUD機能をfiremonkeyでhttps://github.com/jdg/MBProgressHUDに複製したいと考えています。firemonkeyのHUDウィンドウの作成方法
これがiPhoneでどのように見えるかです:
主な問題は、半透明の&フォームが完全に境界線を削除します方法です。
Firemonkey HDフォームを作成し、Fill.Kind
をbkNone
に設定し、Fill.Color
〜Null
に設定します。さらに、Transparency
プロパティをTrueに設定すると、BorderStyle
〜bsNone
になります。
TRectangle(または任意の図形)を作成し、Stroke.Kind
プロパティをbkNone
に設定します。 Fill.Color
〜Gray
に設定すると、Opacity
〜0.5となります。
両親の親をフォームとして持つTAniIndicator
とTLabel
を作成します。 Opacity
は1.0のままです。オプションで、TImage
も作成し、TAniIndicator
とまったく同じサイズと位置にします。
TAniIndicatorでTFloatAnimation
を使用してイメージを(ティックなどに)変更し、ラベルテキストを表示したいメッセージに変更するだけの場合です。理想的には、文字列または整数を変数として受け入れ、それに合わせてテキストとインジケータ/イメージを変更するプロシージャを作成するだけです。例えば;
Procedure TForm1.Process(Mode : Integer);
Begin
if Mode = 1 then
begin
AniIndicator1.Enabled := True;
AniIndicator1.Visible := True;
Image1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Label1.Text := 'Loading';
End
else if Mode = 2 then
Begin
AniIndicator1.Enabled := False;
AniIndicator1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Image1.Bitmap.LoadFromFile('Tick.png');
Image1.Visible := True;
Label1.Text := 'Complete!';
end;
end;
次に、あなたのメインフォームでtpanelを作成し、子コンポーネントとして、上記のフォーム(つまりTAniIndicator, label, and rectangle
が含まれている)を追加することができます。次に、有効なモード変数を使用して作成したプロシージャを呼び出します。コードに示されているとおりに実行されます。さらに多くのモードを追加するのは簡単ですし、自分で作成したアプリケーションと似たようなことをしました(ただし、インジケータを作成するのではなくTRectangle
に関連していました)。
質問を編集して、外部リンクを使用するのではなく、ここで何をしようとしているのか、画面キャプチャまたは画像を投稿してください。何らかの理由で外部リンクが消えたり利用できなくなったりすると、将来あなたの質問が他の人に無意味になります。ありがとう。 :) –
フォームを半透明にすることはできませんが、完全に透明にして半透明(不透明度<1)の形を使用することができます。 –