Delphi Programming / Object Pascal
[掲載 2010年09月13日] [更新 2010年09月22日] エクセル操作フォームEx |
エクセル操作フォームEx
開発環境とバージョンによる違い |
動作確認等 |
- |
以下は,現在確認している現象です.他にもあるかも知れませんが,利用された方からの情報があり次第,掲載する予定です. |
Application.MainFormOnTaskbar の値 |
Delphi 2007 以降ではプロジェクトファイルに Application.MainFormOnTaskbar というプロパティが追加されています.これはアプリケーションウィンドウの設定ですが,複数のフォームを使用するアプリケーションではこの設定によって,ダイアログやフォームのZオーダが正しく機能しないことがあるようです.表示したダイアログがメインフォームの背面になったりすることがあります.
この現象は主に Delphi 2007 + Vista 以降で発生するようです.現在のところ,Windows XP ではこの現象の発生を確認していません.
Vista で開発する場合,以下のように,このプロパティの値を状況に応じて True または Fasle にして動作を確認してください. |
リスト1
エクセル操作フォームEx をメインフォームとして使用する場合は True でいいようだ |
begin
Application.Initialize;
{$IF CompilerVersion > 18.49}
Application.MainFormOnTaskbar := True;
{$IFEND}
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TplExcelFormEx2, plExcelFormEx2);
Application.Run;
end.
リスト2
メインフォームからエクセル操作フォームEx を表示する場合は False |
begin
Application.Initialize;
{$IF CompilerVersion > 18.49}
Application.MainFormOnTaskbar := False;
{$IFEND}
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TplExcelFormEx2, plExcelFormEx2);
Application.Run;
end.
Excel 2007 標準の文書ファイル形式と,それまでのエクセル文書の相互変換機能はありません.
Excel 2007 よりも前の文書は,Excel 2007 がインストールしてある環境では互換モードで開くことになります. |
|