|
IF WVISIBLE("Trace") THIS.Enabled=.F. WVISIBLE("Trace"THIS.Enabled=.F。 ENDIF
问题40: 怎样播放声音文件(.WAV)? 答案40: 除了使用第三方产品和API 调用之外,播放.WAV的最简单的方法是: SET BELL TO "c:\sound.wav",1 ??CHR(7) SET BELL TO
问题41: 怎样设置多个过程或类文件? 答案41: 使用ADDITIVE 子句: SET PROCEDURE TO proc.prg ADDITIVE SET LIBRARY TO class.vcx ADDITIVE
问题42: 为什么当filter设置时,应该用locate代替seek? 答案42: 当你的查找字段是建立了索引且当前索引是该索引时,SEEK 通常是查找单个记录的 最快的方法。不过,当设置了filter时,SEEK 非常慢。理由是SEEK将查找符合你的搜索标准 的第一个记录。FoxPro为了移动记录指针到相应的记录上,必须找到和你的标准相匹配且和f ilter条件相称的记录。和 SEEK不同, LOCATE 是可进行Rushmore优化的. 当一个可优化的fi lter 起作用时,LOCATE FOR CustId=m.CustId 通常比SEEK m.CustId 更快。在GO TOP 和 G O BOTTOM 中也存在相似的问题。用无子句的LOCATE来执行GO TOP,将会使记录指针移动到乎 合filter 条件的第一个记录。要执行 GO BOTTOM, 设置当前索引标识的降序然后LOCATE, 在 将索引设置为原来的升序。
问题43: 我怎样让属性和方法设置到它们的缺省值?
答案43: 你可以在属性窗口中右击一个属性,将会返回该属性的缺省值。当你想设置一个对 象的属性为其父类的属性时,该办法特别有用。例如,如果你使用标签类定义了一个标签,且 设置该标签类的FontBold = .T,但该对象 的FontBold = .F.你可仅右击鼠标,并选的"恢复至默认值"来恢复该类的定义默认定义。该 动作也适用于属性窗口中的方法。你可以在方法列表上右击鼠标来除掉某方法中的全部方法代 码。这是重置当前对象,让它运行类定义中的方法代码的简便方法。如果你不小心让你的方法 编码被缺省值复位,不要保存修改,立即退出表单设计器,当系统提示是否保存修改时,选" 否"取回它。
问题44: 如何能既执行默认的父类的事件/方法又运行一些补充的代码? 答案44: 你可以在子类的方法中输入代码来忽略父类方法代码。FoxPro 将方法代码中的所有字符串解释为可执行代码包括空格和注释,这样将可以 忽略父类方法代码。如果你想把注解加到方法代码中,同时又保持继承的父类 方法编码,使用范围解析操作符(::)来明确调用父类代码。 一个命令按钮的单击事件过程可能是这样的: && Comments MyExitButton::Click &&
问题45: 怎样使 工具条按钮的 可用/不可用 和对应的菜单选择协调一致? 答案45: 一个协调工具条按钮和菜单选择的简单的方法是:在菜单的 Skip子句中使用 Enabl ed属性。 例如,你有一个名为oToolbar的工具条,其上有一个新建命令按钮叫cmdAdd同 时你有一个记录菜单其中有一个新建选项。给新建选项的Skip子句加上"oToolBar.cmdAdd.E nabled = .F." 或"!oToolBar.cmdAdd.Enabled"则新建菜单选项仅当oToolBar.cmdAdd可用时才是可用的。 VFP经典问题集 |