formshow与 formcreate解决方案
formshow与 formcreate
哪位大侠讲下formshow与 formcreate之间的区别哈。
详细点为好,为了这个浪费了好多时间
------解决方案--------------------
哪位大侠讲下formshow与 formcreate之间的区别哈。
详细点为好,为了这个浪费了好多时间
------解决方案--------------------
- Delphi(Pascal) code
var a: tform; begin a := tform.Create(nil); //formcreate a.show; //formshow; a.hide; a.show; //formshow; a.free; end;
------解决方案--------------------
触发条件不同
create是分配内存,formshow是展现,
顺序是create-show
即使没有show 仍可操作对象
但是没有create那么久不可以show了
------解决方案--------------------
formCreate取決于OldCreateOrder屬性設定:
若為true,在構造函數里面觸發;
若為False,則在AfterConstructor里面執行
formshow取決于Visible屬性的設定:
SetVisible——>發送組件消息Perform(CM_VISIBLECHANGED)——>觸發wincontrol.UpdateControlState——>若是Form觸發 UpdateShowing——>發送組件消息Perform(CM_SHOWINGCHANGED)——>執行消息處理函數CMShowingChanged——>執行DoShow——最終觸發Onshow
------解决方案--------------------
------解决方案--------------------