除非你用顶层表单代替_screen,但那样会带来很多麻烦。

解决方案 »

  1.   

    做一个大点儿的带picturebox的form把主屏幕盖住! : )
      

  2.   

    *在_SCREEN上加一个Image更好:
    WITH _SCREEN
       .RemoveObject("BGImage")
       .AddObject("BGImage", "Image")
       .BGImage.LEFT = 0
       .BGImage.TOP = 0
       .BGImage.Height = _SCREEN.ViewPortHeight
       .BGImage.Width = _SCREEN.ViewPortWidth
       .BGImage.Stretch = 2
       .BGImage.Picture = "背景图片文件"
       .BGImage.Enabled = .T.
       .BGImage.Visible = .T.
    ENDWITH
      

  3.   

    *再加点容错避免出错,还可以参考http://www.csdn.net/expert/topic/582/582091.xml?temp=.3490717,可以做得更妙*在_SCREEN上加一个Image更好:
    WITH _SCREEN
       IF TYPE("_SCREEN.BGImage") == "O"
          .RemoveObject("BGImage")
       ENDIF
       .AddObject("BGImage", "Image")
       .BGImage.LEFT = 0
       .BGImage.TOP = 0
       .BGImage.Height = .ViewPortHeight
       .BGImage.Width = .ViewPortWidth
       .BGImage.Stretch = 2
       .BGImage.Picture = "背景图片文件"
       .BGImage.Enabled = .T.
       .BGImage.Visible = .T.
    ENDWITH
      

  4.   

    问题是7.0才可以这么做,以前版本_screen只有属性,没有事件.
      

  5.   

    to net_steven(吃素的狼):
    vfp 6.0也好用呀,我就是在6.0上做的,你把下面的代码存成一个程序,执行一下,然后在vfp的屏幕上Click,Resize,就会看到有反应了
    _Screen.AddObject("oHook","MyHook") DEFINE CLASS MyHook AS Custom 
     oScreen = _Screen  PROCEDURE oScreen.Resize && 截取屏幕事件 
       ? 'screen resize' 
     ENDPROC  PROCEDURE oScreen.click && attach VFP code to object's event when this class initialized 
       ? 'screen click' 
     ENDPROC ENDDEFINE