7.2 如何得知组件是否正从资料流中读出? 当组件正从资料流中读出时,它的 ComponentState 属性会包含csLoading 旗帜。 constructor TMyClass.Create(AOwner: TComponent); begin if csLoading in AOwner.ComponentState then begin ... end else begin ... end; end;
7.3 如何确定组件的属性是否被正确地储存? 有许多很简单的方法可以验证属性是否被正确地储存在档案里: 在整合环境中用鼠标右键点选表格然后选择『View as Text』。然而万一 DFM 檔 有任何错误的话,你将什么也看不到。 开个 DOS 窗口,利用 Delphi 所附的『Convert』程序将 DFM 文件转成文字格式。 Stefan Hoffmeister 指出复制或剪下组件后,到任何一个文书编辑器(如记事本)中贴上,你就可以看到此组件的文字表示。你甚至可以编辑这些文字表示后再将它贴回 Delphi整合环境的表格上。 -------------------------------------------------------------------------------- 第八部分 Delphi 的工具
11.4 如何改变组件的窗口式样? CreateParams方法用来设定组件的窗口式样及其它必须传递至 CreateWindowEx API 的 参数。要改变组件的窗口式样,例如增加或拿掉组件的垂直滚动条只要改写 CreateParams 方法:
procedure TMyControl.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); if IWantAScrollBar then Params.Style := Params.Style or WS_VSCROLL else Params.Style := Params.Style and not WS_VSCROLL; end;