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

自訂物件問題?

尚未結案
JuliusChen
一般會員


發表:13
回覆:8
積分:4
註冊:2005-06-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-14 16:43:35 IP:220.134.xxx.xxx 未訂閱
請教各位前輩: 我有段程式碼如下: constructor TSearchText.Create(Aowner: TComponent); begin inherited Create(AOwner); //繼承原有的建構子 LblVisible := True ; //動態建構 Edit FEdit :=Tedit.Create(Self); FEdit.Parent:=Self; FEdit.Height:=22; FEdit.Width:=100; //動態建構 Button FButton:=TButton.Create(Self); FButton.Parent:=Self; FButton.Top:=FEdit.Top; FButton.Left:=FEdit.Left FEdit.Width; FButton.Width:=40; FButton.Caption :='搜尋'; //動態建構 Label FLabel:=TLabel.Create(Self); FLabel.Parent:=Self; FLabel.Left:=FEdit.Left FEdit.Width FButton.Width; Flabel.top:=Fedit.top; FLabel.Height:=FEdit.Height; FLabel.Width:=140; FLabel.Color:=clYellow; FLabel.AutoSize:=False; FLabel.Visible:=LblVisible; //動態建構 DBLookupListBox FDBLookupComboBox:=TDBLookupComboBox.Create(Self); //FDBLookupComboBox.Parent:=TWinControl(AOwner); //FDBLookupComboBox.Parent:=self; FDBLookupComboBox.Enabled:=False; FDBLookupComboBox.Left:=FEdit.Left FEdit.Width FButton.Width FLabel.Width; FDBLookupComboBox.top:=Fedit.top; FDBLookupComboBox.Height:=FEdit.Height; FDBLookupComboBox.Width:=140; FDBLookupComboBox.Visible:=True; //元件 Width:=FEdit.Width FLabel.Width FButton.Width 10; //元件的寬度 Height:=FLabel.Height 5; //元件的高度 ButtonOnClick:=dispose; //事件內容 TextOnChange:=TextKey; DBLCBOnExit:=DBLCBClick; end; 在關於 DBLookupcomboBox 部份. 我如果使用 FDBLookupComboBox.Parent:=self; 新增物件時會有 Control '' has no parent window error . 如果使用 FDBLookupComboBox.Parent:=TWinControl(AOwner); 他又不會在我定位的地方顯示. 如果不加這一行,就看不到它顯示了.. 我想要讓FDBLookupComboBox 顯示在 FButton 後面, 不知有何解? 非常感謝!! 發表人 - juliuschen 於 2005/10/14 16:49:21
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-14 18:15:08 IP:219.134.xxx.xxx 未訂閱
我想要讓FDBLookupComboBox 顯示在 FButton 後面, ---“后面” 是什么意思? 总之,你要让它有 Parent, 假设你有一个 Panel1, 你让它的Parent是这个 Panel1,它就会显示在这个Panel1上。至于在这个Panel1上的哪个位置,你要设置它的 Top,Left 等property来决定了。如果它有Align这个porperty的话,可能还要设置它的 Align 这个property.
JuliusChen
一般會員


發表:13
回覆:8
積分:4
註冊:2005-06-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-17 14:41:14 IP:220.134.xxx.xxx 未訂閱
pcplayer99 您好: 其實總結我的問題應該是 DBLookupComboBox.Parent 除了可以設成 TWinControl(AOwner) 還有其他的選項嗎? 我設過 self , Panel ,或不設 . 其結果都會出現 Control '' has no parent window 的錯誤訊息.. 謝謝!!
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-19 00:43:31 IP:203.70.xxx.xxx 未訂閱
我有疑問的地方是TSearchText到底是繼承什麼?TWinControl嗎? FEdit,FButton....等的Parent都必須一樣才會如你Code所放的位置。
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-19 12:28:14 IP:219.134.xxx.xxx 未訂閱
把這個元件的type段給列舉出來,大家才知道你是繼承了那個容器元件,看起來像是繼承了TPanel或TForm........... 要讓一群父層都在同一同的TWinControl做層次處理的話,可以試一下 FEdit.bringtofront; FButton.SendToBack; 就可以把元件的z位置做改變了 try it.... 許下第一千零一個願望 有一天幸福會聽我的話
系統時間:2024-05-19 18:52:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!