CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

VFP—使窗口处于激活状态

楼主liuri(璇玑)2002-01-03 20:05:37 在 MS-SQL Server / 基础类 提问

 
   
  请问在VFP中,怎样使一个灰色的窗口处于激活状态 问题点数:40、回复次数:18Top

1 楼liujianjun_(流星尔)回复于 2002-01-03 20:44:11 得分 34

具体说说,有点不明白,什么时候有灰色的窗口Top

2 楼liujianjun_(流星尔)回复于 2002-01-03 20:46:09 得分 0

哦,我知道了,你的意思是有好几个窗口,没有得到焦点的窗口的,你要把它激活是吧。使它得到焦点就行了。thisformset.form2.setfocusTop

3 楼wafeijian(韵杰〖痛并快乐着……〗)回复于 2002-01-03 21:07:48 得分 2

thisformset.form2.showTop

4 楼liuri(璇玑)回复于 2002-01-03 23:28:54 得分 0

to   楼上两位  
        不是有好几个窗口,只是主程序中有一句:do   form   progs\formname.scx  
        然后formname这个表单(顶层表单)load中有一句:_vfp.visible=.f.  
        这时连编可执行文件后运行,表单是灰色的,必需要点一下才激活,  
        但假如我删去了:_vfp.visible=.f.   一运行表单就是激活的!  
        不知道为什么?盼各位高手赐教!  
   
  to   liujianjun_(流星尔) :  
        表单没有setfocus属性哪!  
   
  to   wafeijian(韵杰) :  
        我在表单的load中加入this.show,   还是不行,不知道是否有其他解决方法?  
   
        Top

5 楼liujianjun_(流星尔)回复于 2002-01-04 08:52:43 得分 0

那是我搞错了,没有setfocus属性。  
  你肯定没有把desktop属性设为真。你把它设为真,如果还不行,再设模式表单,再不行.把_vfp.visible=.f.,改为application.visible=.f.,曾经用过一阵子模式表单,嫌它麻烦,就不用了。很多东西都忘了。Top

6 楼liujianjun_(流星尔)回复于 2002-01-04 08:53:37 得分 0

我刚才用desktop为真,模式表单,再加application.visible=.f.,试的,结果行了。Top

7 楼acnode(玫瑰兔子)回复于 2002-01-04 12:25:56 得分 2

我觉得你这种方法很不可行,如果你只有把desktop设为真才行的话,你必须把你系统的所有表单的desktop属性设为真,否则该表单肯定不会被激活。Top

8 楼wafeijian(韵杰〖痛并快乐着……〗)回复于 2002-01-04 12:56:00 得分 0

_vfp.visible=.f.这一句放到主程序中吗Top

9 楼vfp_database(数据库)回复于 2002-01-04 12:57:26 得分 2

为什么一定要用几个FORM呢??  
   
  在一个FORM上用容器不是好点吗?Top

10 楼liujianjun_(流星尔)回复于 2002-01-04 13:39:55 得分 0

vfp_database:  
      你误会他的意思,并不是几个form,而只有一个,只是因为用了顶层表单,又加上_vfp.visible=.f.,   所以使出现的表单呈灰色,没有成为当前对象。  
     
  to   liuri:  
      你要把每个表单的desktop都设为真也是可以的。但建议你还是不要设为顶层表单。顶层表单作个一两个表单,看起来效果挺好,但一个大系统的话,里面有很多设置都要自己来完成,工作量会增加好多,特别是报表的预览窗口,必须自己写窗口。而且一个设为顶层表单,所以的其他表单都要相应跟着改变。总之比较麻烦。  
          直接用vfp的系统窗口,稍微修饰以下,也能达到同样的效果,而工作量就少多了Top

11 楼liuri(璇玑)回复于 2002-01-04 15:57:00 得分 0

to   liujianjun_(流星尔) :  
        我试了一下,在表单中的load中写入application.visible=.f.   并设置:  
        form1.desktop=.t.  
        form1.windowstype=1  
        可是还是老样子:(  
   
        btw:我设为顶层表单后没有自已写报表的预览窗口,其实我也不想用顶层表单,可是第一个表单是登录用的,不大,所以那个系统窗口老是出现在它的后面,很不美观(不知道这个问题可否解决),但在那时若把系统窗口隐藏,就连表单也一起藏了之后,后来就改为顶层表单了,对于其他表单也只多一步操作:showwindows=1.        
           
  to   wafeijian(韵杰) :  
        _vfp.visible=.f.放在主程序或表单的load中都一样,我都试过。  
   
  to   大家:  
        如果VFP不能解决,不知道是否有API函数可以解决呢,我记得有个FindWindow()函数可以取得待测窗口,然后是否有个什么函数可以把这个窗口激活呢?可是我没有找到。  
  Top

12 楼liujianjun_(流星尔)回复于 2002-01-05 08:37:25 得分 0

不会的。你只做一个项目,加一个顶层表单,sdi菜单。顶层表单属性showwindows为2,desktop为真。init:do   sdi菜单名.mpr,主程序do   form   顶层表单名。再试试,不要用你自己的程序试。我跟玫瑰兔子试了试,都行的。Top

13 楼liuri(璇玑)回复于 2002-01-05 21:41:49 得分 0

to   liujianjun_(流星尔):  
          不知道为什么还是不行,我是用一个空表单试的,如下:  
          主程序:do   form   e:\mamage\other\formname  
                          READ   EVENTS    
          表单formname:  
                          load:     application.visible=.f.    
                          属性:                          
                          showwindows=2  
                          desktop=.t.  
          但我的表单init中并不调用菜单,菜单是要点一个按钮才调用的,因为它需要验证一个口令的正确,不过这应该没有影响吧!  
      Top

14 楼liujianjun_(流星尔)回复于 2002-01-06 09:57:08 得分 0

  可能就是这个问题吧。那你可以改以下。我想你要验证口令无非是根据口令得到菜单项的使用权。你可以先登录,再根据登录用户设置主窗口。我觉得这样反而好。点了一个按钮才调用菜单看起来,效果不是很好。就是说登录后,根据你的权限自动设置窗口截面Top

15 楼liuri(璇玑)回复于 2002-01-06 22:47:47 得分 0

to   liujianjun_(流星尔):  
          我真得是搞不清了,我在init中运行菜单试了一下,还是不行,不过菜单是在顶层表单中,所以在init中   do   sdi菜单名.mpr   后我还加上了with   this,是这样的吧!  
        实在不知道我这是疏忽了哪一点,假如你有时间的话,不知能否把你做的那个能激活的主程序表单、菜单发一份邮件给我,让我与我这边的对照一下,看我到底是漏了哪一点,我的邮件是:zhangliuri@163.net,或者我把我做的发一份给你,你帮帮看看我漏了哪里,先行谢过!Top

16 楼liujianjun_(流星尔)回复于 2002-01-07 08:28:29 得分 0

好的。不过你上面漏了个参数,do   sdi菜单名.mpr   with   this,.t.这个.t.最好加上。我给你做一个发过来。Top

17 楼liujianjun_(流星尔)回复于 2002-01-07 08:47:38 得分 0

已经给你发过来了Top

18 楼liuri(璇玑)回复于 2002-01-07 16:00:51 得分 0

谢谢诸位这么多天的帮助,问题解决   ,结帐啦!Top

相关问题

  • 如何判断窗口是否处于激活状态呢?
  • 怎样使一个程序一直处于激活状态
  • 急:COM对象创建后,在COM+中就处于激活状态,如何设置为即时激活(JIT)?
  • 怎么让一个按钮一直处于激活(可用)状态?
  • 如何用IWebBrowser2判断当前窗口是否处于激活状态?
  • 如何获取当前处于激活状态的窗口标题
  • 有没有办法知道当前处于激活状态的窗口是哪个程序的?
  • C#编程,在菜单中打开一个新窗口,为什么总是新窗口处于激活状态?
  • 用Javascript真的没有办法知道当前窗口是否处于激活状态?
  • 如何判断一个窗口(不是本程序的窗口)是否处于激活状态??

关键词

  • vfp
  • 属性
  • 函数
  • 口令
  • desktop
  • 解决
  • 系统
  • 模式
  • 效果
  • 表单

得分解答快速导航

  • 帖主:liuri
  • liujianjun_
  • wafeijian
  • acnode
  • vfp_database

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo