請問如果要知道Parent 的properties 要怎樣做呢? |
尚未結案
|
SamSam1230
中階會員 發表:128 回覆:178 積分:65 註冊:2004-12-23 發送簡訊給我 |
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 發送簡訊給我 |
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 發送簡訊給我 |
|
yorkland
高階會員 發表:2 回覆:138 積分:108 註冊:2004-12-17 發送簡訊給我 |
一般狀況, 應該是以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 發送簡訊給我 |
|
SamSam1230
中階會員 發表:128 回覆:178 積分:65 註冊:2004-12-23 發送簡訊給我 |
引言: 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 發送簡訊給我 |
|
SamSam1230
中階會員 發表:128 回覆:178 積分:65 註冊:2004-12-23 發送簡訊給我 |
引言:不知道為什麼, 用你這個方法, form 還全沒有出來, 只是閃了一下一般狀況, 應該是以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; |
yorkland
高階會員 發表:2 回覆:138 積分:108 註冊:2004-12-17 發送簡訊給我 |
|
SamSam1230
中階會員 發表:128 回覆:178 積分:65 註冊:2004-12-23 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |