|
|
栏 目 导 航 |
|
|
|
|
| |
| 网 站 统 计 |
学校概况:89 篇学校概况 新闻中心:206 个新闻 教学教研:454 篇教学教研 德育工作:87 个德育 视听在线:125 篇视听节目 图片:93 张图片 下载:95 个下载 注册会员:10110位
|
|
| 最 新 调 查 |
| 没有任何调查 |
|
|
|
|
|
|
|
|
|
|
|
上一篇教学教研: 在VFP下实现点对点通信的基本方法下一篇教学教研: 没有了 |
| 隐藏Visual FoxPro的主窗口 |
|
|
作者:caihz 教学教研来源:本站原创 点击数: 更新时间:2007-12-12 |
在Visual FoxPro程序设计中,经常令程序员大感头疼的就是Visual FoxPro的主窗口。事实上,很多应用程序需要使用自己设计的主窗口代替Visual FoxPro的主窗口。在Visual FoxPro的帮助文件中指出,内存变量_Screen(也就是主窗口对象)具有Hide方法和Visual属性,因此我们希望能够使用_Screen.Hide或者是_Screen.Visible=.F.语句来隐藏Visual FoxPro的主窗口。但是事实证明,这两个语句都没有能够达到我们的目的。 这种情况是由于Visual FoxPro的一个设计缺陷造成的。当一个表单或者是一个表单集被隐藏起来时,上一个被激活的对象将被重新激活,如果已经没有其他事先被激活的对象,Visual FoxPro的主窗口将被激活。如果_Screen.Hide或者是_Screen.Visible=.F.语句能够生效的话,那么在当前的Visual FoxPro应用程序中将没有任何被激活的对象。因此,主窗口对象_Screen的Hide方法和Visual属性实际上是无效的。 值得庆幸的是,主窗口对象_Screen还具有Top和Left等其他属性。虽然我们不能够真正的清除主窗口对象,但是可以调整主窗口在屏幕上的位置。如果我们把Visual FoxPro的主窗口搬到屏幕以外,是不是可以获得我们所需要的效果呢?以下的这段程序就是根据这个思路编写的,它不但很好地将Visual FoxPro的主窗口隐藏了起来,还可以在需要的时候把它重新找回来。 * 创建窗口HideDeskTop frmHideDesktop = CREATEOBJECT("HideDeskTop") frmHideDesktop.SHOW(1) * 定义窗口HideDeskTop DEFINE CLASS HideDeskTop AS FORM TOP = 17 LEFT = 24 DESKTOP = .T. CAPTION = "隐藏Visual FoxPro主窗口的示例程序" MDIFORM = .T. oleft = .F. && 变量oleft存储Visual FoxPro主窗口的左位置 * 在窗口HideDeskTop添加按钮HideShow ADD OBJECT cmdHideShow AS HideShow WITH ; TOP = 156, ; LEFT = 175, ; HEIGHT = 29, ; WIDTH = 150, ; CAPTION = "隐藏主窗口", ; NAME = "Command2" * 在窗口HideDeskTop添加按钮CloseButton ADD OBJECT cmdClose AS CloseButton WITH ; TOP = 196, ; LEFT = 175, ; HEIGHT = 29, ; WIDTH = 150, ; CAPTION = "关闭本程序", ; NAME = "cmdClose" ENDDEFINE * 定义按钮HideShow DEFINE CLASS HideShow AS COMMANDBUTTON PROCEDURE CLICK IF THIS.CAPTION = "隐藏主窗口" THIS.CAPTION = "显示主窗口" * 存储Visual FoxPro主窗口的左位置 THISFORM.oleft = _SCREEN.LEFT * 将Visual FoxPro主窗口移到屏幕以外 _SCREEN.LEFT = -10000 ELSE THIS.CAPTION = "隐藏主窗口" * 将Visual FoxPro主窗口恢复到原来的位置 _SCREEN.LEFT = THISFORM.oleft ENDIF ENDPROC ENDDEFINE * 定义按钮CloseButton DEFINE CLASS CloseButton AS COMMANDBUTTON PROCEDURE CLICK * 将Visual FoxPro主窗口恢复到原来的位置 _SCREEN.LEFT = THISFORM.oleft * 释放窗口HideDeskTop THISFORM.RELEASE ENDPROC ENDDEFINE
|
| 教学教研录入:CaiHZ 责任编辑:CaiHZ |
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
上一篇教学教研: 在VFP下实现点对点通信的基本方法下一篇教学教研: 没有了 |
|