FormCreate時的問題 |
尚未結案
|
gcleektop
一般會員 發表:7 回覆:4 積分:2 註冊:2004-03-01 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 在FormCreate事件中,呼叫OpenDialog執行後,Main Form會縮小至下方,請問如何不讓Main Form縮起,而是正常顯示?你應該是使用 SDI or MDI ? 我猜是 MDI ... FormCreate 時期, 此 Form 還沒有 "Show 出來". 改到 FormShow 中試看看 ... 還有此 Form 是否有設 FormStyle = fsMDIChild ? 另外, 下次最好將 Source code 貼上來, 大家比較知道你的問題所在.
------
將問題盡快結案也是一種禮貌! |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
您好:
看TOpenDialog的online help:
TOpenDialog displays a modal Windows dialog box for selecting and opening files.
可知如果您在form的oncreat事件中呼叫TOpenDialog,则会先显示a modal Windows dialog box,然后再建立一个Form,所以您看起来就像是Main Form縮起,而没正常顯示;
您可将语句下在onActivate事件中:
参考:
procedure TForm1.FormActivate(Sender: TObject); begin if opendialog1.Execute then showmessage(openDialog1.FileName); end;~~~静心养德~~~ |
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
引言: 您好: 看TOpenDialog的online help: TOpenDialog displays a modal Windows dialog box for selecting and opening files. 可知如果您在form的oncreat事件中呼叫TOpenDialog,则会先显示a modal Windows dialog box,然后再建立一个Form,所以您看起来就像是Main Form縮起,而没正常顯示; 您可将语句下在onActivate事件中: 参考:deity 兄, 放在 FormActivate 中有一個問題, 如果在好幾個 Form 中切換, 每一次 Activate 此 Form 就會出現 OpenDialog 一次. 如果本來就是要這種效果那就另當別論, 但放在 FormShow 中不會有此問題.procedure TForm1.FormActivate(Sender: TObject); begin if opendialog1.Execute then showmessage(openDialog1.FileName); end;
------
將問題盡快結案也是一種禮貌! |
te_hsun
一般會員 發表:43 回覆:34 積分:20 註冊:2002-03-25 發送簡訊給我 |
放在 FormShow 裡面的程式內容會先處理完畢..才會去 Show Form... 要在 FormActivate 裡處理只出現1次的程式內容
最好是在Form..加一個boolean的變數來控制...
type TForm1 = class(TForm) ....... private CanOpenDialog: Boolean; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin CanOpenDialog:= True; end; procedure TForm1.FormActivate(Sender: TObject); begin if CanOpenDialog then begin CanOpenDialog:= False; if opendialog1.Execute then showmessage(openDialog1.FileName); end; end; end. |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言:谢谢danny大大的指出,是有这个问题, > <>~~~静心养德~~~>引言: 您好: 看TOpenDialog的online help: TOpenDialog displays a modal Windows dialog box for selecting and opening files. 可知如果您在form的oncreat事件中呼叫TOpenDialog,则会先显示a modal Windows dialog box,然后再建立一个Form,所以您看起来就像是Main Form縮起,而没正常顯示; 您可将语句下在onActivate事件中: 参考:deity 兄, 放在 FormActivate 中有一個問題, 如果在好幾個 Form 中切換, 每一次 Activate 此 Form 就會出現 OpenDialog 一次. 如果本來就是要這種效果那就另當別論, 但放在 FormShow 中不會有此問題.procedure TForm1.FormActivate(Sender: TObject); begin if opendialog1.Execute then showmessage(openDialog1.FileName); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |