Owner,Parent,Self,Sender,Clientheight,Height(轉)
一、Owner和Parent的區別:
Parent屬性是指構件的包容器,構件只能在此範圍內顯示和移動。
Owner屬性是指構件的所有者,它負責構件的建立和釋放。create方法應帶有表示構件所有者的引數,如在上例中,構件所有者是窗體,即self。 Parent屬性和Owner屬性是執行階段的屬性,只能在執行階段,透過程式碼設定。
Owner為建立者,Parent為容器 他們的型別不同,
Owner為TComponent(元件),Parent為TWinControl(窗體控制元件)
二、Self和Sender的區別:
在事件處理程式參數列中,至少含有一個引數Sender,它代表觸發事件處理程式的構件,如在上例中,Sender就指Button2,有了Sender引數,可以使多個構件共用相同的事件處理程式,如下例:
Procedure Tform1.Buttonclick(Sender:Tobject); Begin If sender=button1 then Label1.caption:=′看庭前花開花落 ′ Else Label2.caption:=′望天上雲捲雲舒′ End; |
在此例中,Button1,Button2共用了Buttonclick事件處理程式。
(***本文出處:南山古桃(nsgtao)的百度空間:****)
Self是指所編的程式範圍是在哪一個類中,Delphi中大都在窗體範圍內程式設計,因此,self即指窗體,如果在編寫一個類或是一個元件,則self 指該類或元件。我們在函式或過程的宣告中可看出self是代表哪個元件,即self代表‘.’號之前的元件,如在第一個例子中,self代表 Tform1。另外應注意,self只能用在類方法中,而不能用在過程或函式中,如下例用法是錯的:
Function a1(B:Integer):Integer; Begin …… Button:=tbutton.create(self);…… End; |
三、Clientheight和Height,Clientwidth和Width的區別:
對於一般的構件而言,Height就是Clientheight,Width就是Clientwidth,而對於窗體而言,Height是包括標題條在內的高度,而Clientheight是指窗體工作區的高度。同理,Clientwidth是指定窗體工作區的寬度。
從上面陳述可知,理解Ower和Parent,Self和Sender,Clientheight和Height,Clientwidth和Width區別,對於Delphi中正確程式設計是重要的。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/114037/viewspace-1035275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Windows系統中owner owned 關係和 parent child關係Windows
- php物件導向知識 this,self,parent的區別PHP物件
- php物件導向的簡單總結 $this $parent selfPHP物件
- 玩轉跟蹤(to owner session、other session)Session
- JavaScript clientHeightJavaScriptclient
- CSS:line-height(轉)CSS
- BCB中用Sender引數實現程式碼重用 (轉)
- document.body.clientHeight和document.documentElement.clientHeight區別client
- BCB中用Sender實現程式碼重用(糾正篇) (轉)
- unable to get oracle owner forOracle
- jQuery parent()jQuery
- jQuery :parentjQuery
- Sender 的應用:所有Edit共用一個過濾格式 (轉)
- PHP中的符號 ->、=> 和 :: 分別表示什麼意思?以及this,self,parent三個關鍵字的理解!PHP符號
- &self 和 self 的區別
- rust語法super、self和SelfRust
- zabbix_sender自定義監控
- BCB高手進階 (十)用Sender引數實現程式碼重用 (轉)
- CSS min-height和max-heightCSS
- android中關於scrollview內部元件android:layout_height="fill_parent"無效的解決辦法AndroidView元件
- jQuery height()jQuery
- object-c [self class] 和 [self _cmd]Object
- jQuery parents()和parent()jQuery
- 訊息通知 使用 [ Web-msg-sender]Web
- element.clientHeight,offsetHeight,scrollHeightclient
- The database owner SID recorded in the master database differs from the database owner SID recorded in database 'DB_NAME'DatabaseAST
- Self-Delete程式之Delphi版本,終於搞定了。 (轉載) (轉)delete
- new static ,new self ,self::, $this的一些理解
- Flutter框架分析- Parent DataFlutter框架
- clientWidth和clientHeight屬性的用法client
- Self-Attention GAN 中的 self-attention 機制
- TextInput should be given height
- multi-parent genetic algorithmsGo
- jQuery parent>child選擇器jQuery
- Error: parent directory is world writable but not stickyError
- jQuery parents()和parent()區別jQuery
- js clientWidth和clientHeight屬性的作用JSclient
- height:inherit和height:100%的區別簡單介紹