如何讓元件立即反應改變屬性後的型態 |
答題得分者是:Stallion
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
各位前輩:
我在自訂元件中使用了三個元件,作複合繼承,但是目前雖各屬性皆可以正常使用,但是當我在屬性表上,操作 自訂元件內的個別屬性時,卻不會立即反應到元件的顯示,一定要等到執行時期才會顯示,我所設定的屬性值, 如我設定三個元件的Left和With,但是元件卻不會立即移動,我有下達self.refresh,但是卻不會如我預期,不知道要 下達哪個指令,才能讓開發的元件有立即回應的狀態!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式!
附加檔案:464ee5699ade5_1.jpg
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
補充問題:
1.不知道有哪些事件,是在調整元件內的元件屬性(如Left和With)會觸發的。 2.有哪些事件是,當調整調整元件內的元件屬性(如Left和With),可以用於更新如Self.refresh 物件的顯示外觀。 真是困惑極了! 請各位前輩提示! 感謝 ===================引 用 g9221712 文 章=================== 各位前輩: 我在自訂元件中使用了三個元件,作複合繼承,但是目前雖各屬性皆可以正常使用,但是當我在屬性表上,操作 自訂元件內的個別屬性時,卻不會立即反應到元件的顯示,一定要等到執行時期才會顯示,我所設定的屬性值, 如我設定三個元件的Left和With,但是元件卻不會立即移動,我有下達self.refresh,但是卻不會如我預期,不知道要 下達哪個指令,才能讓開發的元件有立即回應的狀態!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式! |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
不知道要怎麼判斷,觸發我更改了繼承物件的寬度,去觸發Repaint,因為我若是直接在Repaint,下達調整位置的指令,
就會變成重複觸發,導致Delphi IDE 當掉! procedure TControl.Repaint;
var
DC: HDC;
begin
if (Visible or (csDesigning in ComponentState) and
not (csNoDesignVisible in ControlStyle)) and (Parent <> nil) and
Parent.HandleAllocated then
if csOpaque in ControlStyle then
begin
DC := GetDC(Parent.Handle);
try
IntersectClipRect(DC, Left, Top, Left Width, Top Height);
Parent.PaintControls(DC, Self);
finally
ReleaseDC(Parent.Handle, DC);
end;
end else
begin
Invalidate;
Update;
end;
end;
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式! |
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |