初めまして。
いきなりですが、本題です。
1.MDI親ウィンドウと子ウィンドウを作成します。
2.親ウィンドウには TActionMainMenuBarを貼り付けます。
3.アプリケーションを実行し、子ウィンドウを最大化します。
この操作を行うと、親ウィンドウの閉じる[×]ボタンの下に子ウィンドウの
閉じる[×]ボタンが表示されるべきですが、
子ウィンドウの最大化、最小化、閉じるのボタン全てが表示されません。
BDNにてこの問題の解決策を見つけることはでき、
http://qc.borland.com/wc/qcmain.aspx?d=5131
VCLを直接修正して、ボタンが表示されないバグを解消することはできたのですが、
別のバグが発生しました。
・WinXPではボタンにテーマが反映されない。
・Win2000ではボタンのサイズが一回り大きくなる。
調べたところ、TActionMainMenuBarとTXPManifestに関連した修正を見つけたのですが
http://homepages.borland.com/strefethen/index.php?pagename=Main.Delphi7#toc10
VCLソースの修正後にも同じバグが残っています。
開発環境は Delphi7 & Win2000
動作環境は 開発環境+WinXP で行っています。
以上、宜しくお願い致します。
#ActionManager関連には他にもバグがあるそうなのですが
#修正差分等の配布は行っていないのでしょうか…。
自己レスです。
Win2000の閉じるボタン等の大きさに関するバグはソース手修正でなんとかなりました。
XPに関しては、他のMDIアプリを見る限りテーマが適用されていないようですので(Java製や.NET製は除く)
これで特に問題はなさそうなので放置です。
また、ActnMenus.pasをいじる時の注意点ですが
コンパイラオプションで範囲チェックのチェックを外しておかないと
実行時エラーが出てしまうようです。
http://qc.borland.com/wc/qcmain.aspx?d=7116
とりあえず解決とさせて頂きます。
ツイート | ![]() |