欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

_screen相关有关问题

更新时间: 2014-01-05 02:27:50 责任编辑: Author_N1

 

_screen相关问题
一、vfp的_screen尺寸?
_screen.height=sysmetric(2)
_screen.width=sysmetric(1)
如果_screen按以上尺寸有个问题,发现不包含_screen窗口caption的高度
另外包不包含菜单、自定义工具栏、自定义状态栏的高度???????
另外_screen.caption无height属性,如何取.caption高度????
二、表单的autocenter=.t.
如何让表单在菜单及状态栏之间居中显示(autocenter=.t.)????
目前看到结果是在工作区按居中显示,而工作区中有自定义状态栏,这样打开表单显示看到就不是居中

三、如何在vfp中指定windows的任务栏为自动隐藏???
--参考方法--
一、
Sysmetric(9)  && 窗口标题的高度,这取决于 Windows 的主题设置。
直接将 _Screen 最大化就可以了:_Screen.WindowState=2

二、
是有这个问题,你把状态栏的高度去掉后,再用代码居中。
不过我的程序这个问题并没有严格必须去掉状态栏的高度,意义不大吧。

三、
Declare Integer FindWindow In Win32API As _FindWindow String,String
Declare Integer ShowWindow In Win32API As _ShowWindow Integer,Integer
lnTaskbarHandle=_FindWindow('Shell_TrayWnd','') && 取得任务栏句柄
=_ShowWindow(lnTaskbarHandle,0) && 0 - 隐藏 1 - 显示
--参考方法--
那就用 Bindevent() 绑定一下 _Screen 的 Resize 事件
Public oHandler
oHandler=Newobject("myhandler")
Bindevent(_Screen,"Resize",oHandler,"myresize")

Define Class myhandler As Session
Procedure myresize
If _Screen.WindowState=2
_Screen.MaxButton=.T.
_Screen.MaxButton=.F.
Endif
Return
Enddefine

--参考方法--
最小化时显示任务栏,最大化时隐藏任务栏
Public oHandler
oHandler=Newobject("myhandler")
Bindevent(_Screen,"Resize",oHandler,"myresize")

Define Class myhandler As Session
Procedure myresize
Declare Integer FindWindow In Win32API As _FindWindow String,String
Declare Integer ShowWindow In Win32API As _ShowWindow Integer,Integer
lnTaskbarHandle=_FindWindow('Shell_TrayWnd','') && 取得任务栏句柄
Do Case
Case _Screen.WindowState=2
=_ShowWindow(lnTaskbarHandle,0)
Case _Screen.WindowState=1
=_ShowWindow(lnTaskbarHandle,1)
Endcase
Return
Enddefine
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:27:50
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/10128/
本文WWW.DOC100.NET DOC100.NET版权所有。