MDIで作っています。
ショートカットへのD&Dや、送るメニューでファイルを送ったとき
そのファイルをMDIの子ウインドウで開いた状態でMDIプログラムを起動したいと思います。
procedure TMainForm.FormCreate(Sender: TObject);
……
begin
// 引数処理
if ParamCount>0 then
for i:=1 to ParamCount do
// ファイルが存在するならファイルを開く
if FileExists(ParamStr(i)) then
begin
// ファイルオープン処理
end;
のようにしてファイルを開こうとしているんですが、
TMainForm.FormCreate の中 (つまり、親となるMDIフォームがまだ作られていない状態)で
子ウインドウを開こうとしているのはだめだということらしいです。
だから、フォームが作られて後に引数で与えられたファイルを開きたいんですが、
なにか良い方法はないでしょうか?
よろしくお願いします。
よく覚えてませんけど、確かここの(http://www2.big.or.jp/~osamu/Delphi/)Tipsかどこかに、
そういうことが書いてあったような…。
OnShowイベントで処理されては?
レスありがとうございます。
kazu さんの、親ウインドウ(MainForm) の OnShow イベントで行ったところ、うまくで
きたので報告します。この時 MainForm の Visible プロパティを、Falseにしておきま
す。また、OnActive イベントでも同様にできました。アドバイスどうもありがとうござ
いました。
たかみ さんのいうサイトで、MDIに関するところを見ました。
http://130.158.124.192/~takeuchi/delphi/browse.cgi?index=002238&back=http%3A%2F%2F130%2E158%2E124%2E192%2F%7Etakeuchi%2Fdelphi%2Farticle%2F002%2F002238%2Ehtml
過去にもMLで同じ話題が出ていますが、話はD&Dで子ウインドウを開く方法に行ってしまっ
ていて有効な情報はありませんでしたが、今後、同じようなことをする人に参考にしても
らいたいと思います。
ツイート | ![]() |