0

スタイルをテストするためのフォームが必要です。そして、それぞれのスタイルをその形でのみ適用していきます。ただし、TStyleManager.SetStyle はアプリケーション内のすべてのフォームに適用されます。現在のフォームにのみスタイルを適用するにはどうすればよいですか?

    procedure TForm1.FormCreate(Sender: TObject);
    var styleName: String;
    begin
      ListBox1.Items.Clear;
      for styleName in TStyleManager.StyleNames do
        ListBox1.Items.Add(styleName);
    end;
.......
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin // this applies to all forms in application, I want apply only this form!
      TStyleManager.SetStyle(ListBox1.Items[ListBox1.ItemIndex]);
    end;
4

1 に答える 1

4

VCL スタイルはアプリケーション全体であり、特定のフォームにのみ適用されるようには設計されていません。ただし、フォーム内のスタイルとプロパティから要素を削除するコントロールを無効にすることができStyleElementsます。

あなたの質問 " " によると、おそらく VCL スタイルのプレビューI need a form for testing Styles...フォームを探しているのではないでしょうか。その場合は、VCL スタイルのプレビューを作成する方法を説明しているこの記事を試すことができます。また、VCL Styles Utilsプロジェクトには、 と呼ばれるコンポーネントと その使用方法のサンプル アプリケーションが含まれています。Exploring Delphi XE2 – VCL Styles Part IIITVCLStylesPreview

このコンポーネントのサンプル画像を確認してください

ここに画像の説明を入力

于 2013-11-21T14:32:41.790 に答える