MDI子フォームにランタイムテーマを適用するには?

解決


てつこ  2017-07-21 02:31:15  No: 48697

Delphi2007にてMDIスタイルのアプリケーションを作成しています。

ランタイムテーマを有効にして作成しているのですが
MDI子フォームに適用されません。

Windows10で実行すると、次のような状態になります。

・MDIメインフォームはWindows10スタイルで表示
・MDI子フォームはWindows7のようなウインドウ枠やタイトルバーが太い状態
・MDI子フォームから表示するサブフォームはWindows10スタイルで表示

MDI子フォームにもランタイムテーマを適用する方法はないのでしょうか。

よろしくお願いいたします。


通りすがり  2017-07-21 03:05:16  No: 48698

カスタムマニフェストでWindows 10互換を有効にしてもだめですか?
アプリケーションマニフェスト [Delphi Programming]
http://ht-deko.com/tech077.html


てつこ  2017-07-21 19:06:23  No: 48699

通りすがりさん、ありがとうございます。

カスタムマニフェストを作成してみましたが結果は同じでした。

Berlinでも作成してみましたが結果は同じでした。

"MDIアプリケーションの子フレームの色 MSDN"でWEB検索すると
同様の質問をされている方がいらっしゃいました。
その情報で判断するなら、そういう"仕様"と考えるべきなのでしょうか。


てつこ  2017-07-24 23:11:10  No: 48700

今回は過去の資産保守のため、Delphi2007で対応する必要があるのですが
とりあえずBerlinでも試してみました。

プロジェクトオプションのカスタムスタイルに「Windows10」を追加して
デフォルトスタイルも「Windows10」とすることでMDI子フォームも
同じスタイルで描画されるようになりました。

Delphi2007で同じことを実現するのは難しそうです。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加