線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:789
推到 Plurk!
推到 Facebook!

MDI From Question

尚未結案
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-04 16:30:02 IP:203.185.xxx.xxx 未訂閱
....... begin Application.Initialize; fmLogin := TFMLogin.Create(Application); // 它不是MainForm If fmLogin.ShowModal<> mrOK Then // 登入不成功則結束程式 Terminate ; fmLogin.Free; Application.CreateForm(TMdiMainForm, MdiMainForm);//這個才是MainFor ...... Application.Run; End; 這是在某一個主題中的copy來的,是關於在midiform中create login,這是其中一個解決方法,但是如果我不想在project的viewsource那處寫此code,我想在mainform中的onshow寫下,那麼該怎樣做?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-04 16:35:41 IP:147.8.xxx.xxx 未訂閱
Similar... Application.Terminate to quit the application.
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-04 16:42:34 IP:203.185.xxx.xxx 未訂閱
不行... 我在project options中,只設定MainForm 會戴入記憶體.. 跟著mainform的formstyle設為midiform,而另外有兩個form,一為logoform(顯示logo之用),二是loginform(用作登入),logoform的formstyle設為normal,而loginform則設為midichild,然後在mainform的onshow中寫了 LogoForm := TLogoForm.Create(Application); LogoForm.ShowModal; 但是郤說我不能invisible create form....why?
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-04 16:42:58 IP:61.222.xxx.xxx 未訂閱
原則上應該還是一樣,只是登入成功與登入不成功後,後面要做的事可能要修改. 如下:
procedure TMdiMainForm.FormShow(Sender: TObject);
begin
  If fmLogin.ShowModal = mrOK Then
  begin
    //開放MainForm上的所有功能按鈕
  end
  else
  begin
    //關掉MainForm上的所有功能按鈕,除了Login的按鈕仍為開放外
  end;
end;
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-04 17:02:36 IP:203.185.xxx.xxx 未訂閱
不行... 我在project options中,只設定MainForm 會戴入記憶體.. 跟著mainform的formstyle設為midiform,而另外有兩個form,一為logoform(顯示logo之用),二是loginform(用作登入),logoform的formstyle設為normal,而loginform則設為midichild,然後在mainform的onshow中寫了 LogoForm := TLogoForm.Create(Application); LogoForm.ShowModal; 但是郤說我不能invisible create form....why?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-04 17:03:30 IP:147.8.xxx.xxx 未訂閱
loginform is mdi child??? Your main mdi form is invisible and hence you can't create loginform. I guess you would like to make the loginform a normal form...
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-04 17:09:59 IP:203.185.xxx.xxx 未訂閱
cannot... 我hide了show loginform的那一行...現在的是... ---------------------------------------------- begin Application.Initialize; Application.CreateForm(TMainForm, MainForm); Application.Run; end. ----------------------------------------------- procedure TMainForm.FormShow(Sender: TObject); begin (* -----------> Startup Processing <---------- *) LogoForm := TLogoForm.Create(Application); LogoForm.ShowModal; ;
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-04 17:11:02 IP:203.185.xxx.xxx 未訂閱
Error is "cannot make a visible window modal"
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-04 17:35:43 IP:61.30.xxx.xxx 未訂閱
你好:
  說說我的看法,給你參考。
1 你範例中的 TFMLogin 肯定不是 fsMDIChild,因為子視窗只允許出現在母視窗的架構內出現,
  而這時你的 TMdiMainForm 尚未建構。    2 當你將 TFMLogin 設為 fsNormal 時,你可以將你範例內的程式碼直接移植到 OnShow 或是
  OnActivate 中使用。    3 cannot make a visible window modal 的錯誤訊息就是告訴你 fsMDIChild 屬性的視窗無法
  使用 ShowModal 函式。
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-06-07 09:43:38 IP:203.185.xxx.xxx 未訂閱
很奇怪的情況,當我個mainform是normal style時,logoform和loginform也設定為normal style,但那個error還是存在...........????
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-06-07 09:49:27 IP:203.185.xxx.xxx 未訂閱
解決了...原來是因為那些form(logoform,loginform)的visible設定為true所以就有這樣的一個error...不過怎樣也想不到是和這有關...
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-06-07 10:56:53 IP:203.185.xxx.xxx 未訂閱
請容許我問多一個問題,本人想那個mainform 戴入後才顯示loginform,但是無論我把create login form那句放在onshow 或oncreate都會先create loginform,才會create mainform,但如果將code放在onactivitate,那有一個問題是那張mainform還未完全地maximize,所以會有一個normal的邊線在loginform的後面,那怎麼辦?
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-06-07 11:08:27 IP:210.243.xxx.xxx 未訂閱
mainform的height設為0 等登入成功後再還原...
系統時間:2024-05-06 2:18:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!