回 帖 发 新 帖 刷新版面

主题:[原创]怎样让屏幕图片随系统主窗口大小的变化而变化?

我用下列代码实现屏幕背景图片的设置:
_screen.AddObject('Image1','Image')
_screen.Image1.width = _screen.width
_screen.Image1.height = _screen.height
_screen.Image1.visible = .t.
_screen.Image1.stretch = 2
_screen.Image1.picture='pic\20.jpg'

但是,当屏幕(即系统主窗口)大小发生变化时,怎样让图片自动适应.
如果不是在屏幕,而是在表单中,我可以直接在表单的resize中编写代码,但对于屏幕
_Screen 如何解决??
敬请高手指点!!

回复列表 (共9个回复)

沙发

DEFINE CLASS ScreenHook AS CUSTOM
 oScr = _SCREEN
 PROCEDURE oScr.RESIZE()
  *
  * 处理主 VFP 屏幕重调的代码
  *
  WAIT WINDOW NOWAIT TRANSFORM(THIS.WIDTH)+" "+TRANSFORM(THIS.HEIGHT)
 ENDPROC
 PROCEDURE oScr.moved()



_SCREEN.NewObject("oSH","ScreenHook","screenmethods.prg")

板凳

谢谢一楼朋友,最后一句
_SCREEN.NewObject("oSH","ScreenHook","screenmethods.prg")
怎么解释,怎么使用?
"oSH"指什么? "screenmethods.prg"是我要编写的程序吗?

3 楼


http://www.programfan.com/club/post-250798.html

4 楼

楼主好;

如果用的是6、7版,这是个很巧妙的办法;事实上8版开始就不行了,转而用BINDEVENT函数。

这在fox wiki网站有详细说明和示例

[url]http://fox.wikis.com/wc.dll?Wiki~ScreenMethods~Wiki[/url]

这个站foxer们应该去看看。

5 楼

[quote]
[url]http://fox.wikis.com/wc.dll?Wiki~ScreenMethods~Wiki[/url]

这个站foxer们应该去看看。[/quote]

果然好!

谢!!

6 楼

谢谢各位关注本帖,我在VFP9里通过设定anchor属性解决了问题,代码如下:
 
 _screen.AddObject('Image1','Image')
  with _screen.Image1
    .width = _screen.width
    .height = _screen.height
    .visible = .t.
    .stretch = 2
    .anchor = 15
    .picture='pics\picture1.jpg'
  endwith

7 楼

高老师的方法精湛,值得推广。
Anchor 属性 (vfp 9 新属性)
定义在调整容器大小时,可视控件锚定到父容器的哪些边。设计和运行时可读/写。

8 楼

VFP9里的anchor属性确实是好东西,省去了很多编程的麻烦!不知道VFP9里还有什么好东东,大家一块讨论.

9 楼

好帖,值得学习。

我来回复

您尚未登录,请登录后再回复。点此登录或注册