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

請問如果要知道Parent 的properties 要怎樣做呢?

尚未結案
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-15 16:42:02 IP:218.103.xxx.xxx 未訂閱
Main form click a button 然後 show sub form 我想sub form 都固定在main form 的旁邊, 當我close sub 再show 的時候 Tsubform.FormShow(Sender: TObject); begin subform.top := Parent.top; subform.left := Parent.left width; end; 這樣不行, 請問那一個reserved word 可以, owner 也試過 , 但還是不行 謝謝
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-15 17:07:08 IP:210.65.xxx.xxx 未訂閱
Hi SamSam1230,    Why do'nt you set the position for the sub-form by main form !?
procedure TForm1.Button3Click(Sender: TObject);
begin
    TmpForm := TForm2.Create(Application);
    Button2:=tbutton.Create(TmpForm);
    TmpForm.top := Self.Top;
    TmpForm.Left := Self.Left   self.Width;
    TmpForm.Show;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
alexou
一般會員


發表:0
回覆:2
積分:0
註冊:2004-12-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-15 17:55:31 IP:80.237.xxx.xxx 未訂閱
妳亦可以利用Application.MainForm取得程式主窗體進行位置設定
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-15 18:25:51 IP:220.130.xxx.xxx 未訂閱
一般狀況, 應該是以Fishman寫的方式較正統, 但如果你有特殊的用途, 你可以用以下的做法達成:    在Form1裡頭去Create Form2, 所以底下的Self指的就是Form1;
form2:=TForm2.Create(Self);
form2.show;    在Form2的OnShow中, 以Owner取回Left, Top的資訊。
procedure TForm2.FormShow(Sender: TObject);
begin
  Left:=TForm(Owner).Left 100;
  Top:=TForm(Owner).Top 100;
end;
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-15 20:51:11 IP:61.141.xxx.xxx 未訂閱
Fishman的方法不錯,比較簡單實用,但還有一種方法: 將SubForm的Parent指向MainForm(默認創建的Form的Parent都是nil的)。 具體請參照http://blog.csdn.net/visli/archive/2005/01/11/249502.aspx
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-16 09:45:13 IP:218.103.xxx.xxx 未訂閱
引言: Hi SamSam1230, Why do'nt you set the position for the sub-form by main form !?
procedure TForm1.Button3Click(Sender: TObject);
begin
    TmpForm := TForm2.Create(Application);
    Button2:=tbutton.Create(TmpForm);
    TmpForm.top := Self.Top;
    TmpForm.Left := Self.Left   self.Width;
    TmpForm.Show;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ---------------------------------- < face="Verdana, Arial, Helvetica"> 但是我會在程式裡close form and 再open , 但沒destory 如果main 移了位置 我想每次再開的時候都會固定在main的旁邊
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-16 12:47:50 IP:218.103.xxx.xxx 未訂閱
引言: 妳亦可以利用Application.MainForm取得程式主窗體進行位置設定
這樣只可針對靜態的main form 如果我的子form 是一個module 會給很多個不同的 mainform 而且 mainform 的名字是不一樣, 那就不行了
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-16 12:52:22 IP:218.103.xxx.xxx 未訂閱
引言:
一般狀況, 應該是以Fishman寫的方式較正統, 但如果你有特殊的用途, 你可以用以下的做法達成:    在Form1裡頭去Create Form2, 所以底下的Self指的就是Form1;
form2:=TForm2.Create(Self);
form2.show;    在Form2的OnShow中, 以Owner取回Left, Top的資訊。
procedure TForm2.FormShow(Sender: TObject);
begin
  Left:=TForm(Owner).Left 100;
  Top:=TForm(Owner).Top 100;
end;
不知道為什麼, 用你這個方法, form 還全沒有出來, 只是閃了一下
yorkland
高階會員


發表:2
回覆:138
積分:108
註冊:2004-12-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-16 19:10:08 IP:220.130.xxx.xxx 未訂閱
閃一下? 以下這一段, 是在Form1裡頭的程式。我有試過了呀? 除非你的Form1有特殊的設計。 form2:=TForm2.Create(Self); form2.show; 你可以貼你的程式上來嗎?
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-03-17 12:16:35 IP:218.103.xxx.xxx 未訂閱
引言: 閃一下? 以下這一段, 是在Form1裡頭的程式。我有試過了呀? 除非你的Form1有特殊的設計。 form2:=TForm2.Create(Self); form2.show; 你可以貼你的程式上來嗎?
我的整個程式很大... 都不知道要貼那一部分 但是有一點那個form2不是runtime create的 這個會有影響嗎?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-03-24 11:49:21 IP:210.65.xxx.xxx 未訂閱
Hi SamSam1230,    我剛剛試了一下 yorkland 大大的方法,其實是可行的, 請注意一下 yorkland 大大的寫法,我猜測你應該寫錯了,才在 form2 中找不到 Owner !!
procedure TForm1.Button1Click(Sender: TObject);
begin
  form2 := TForm2.Create(Self); // not Application 請注意
  form2.show;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-03-24 15:23:58 IP:218.103.xxx.xxx 未訂閱
請問 self and application 有什麼影響?
系統時間:2024-07-01 5:58:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!