用vb写了一个小程序,全屏显示的,但当接两个显示器的时候,在第二个屏幕上执行全屏操作时,全屏显示在第一个屏幕上,有没有可以强制显示在第二个屏幕上的办法。全屏转换代码如下If Not fullscreen Then
SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, WS_CLIPCHILDREN)
form1.Top = 0
form1.Left = 0
form1.Width = Screen.Width
form1.Height = Screen.Height
fullscreen = True
Me.Show
Else
SetWindowPos form1.hwnd, -2, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, 382664704)
form1.BorderStyle = 2
form1.Width = 13785
form1.Height = 8745
fullscreen = False
Me.Show
End If
SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, WS_CLIPCHILDREN)
form1.Top = 0
form1.Left = 0
form1.Width = Screen.Width
form1.Height = Screen.Height
fullscreen = True
Me.Show
Else
SetWindowPos form1.hwnd, -2, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, 382664704)
form1.BorderStyle = 2
form1.Width = 13785
form1.Height = 8745
fullscreen = False
Me.Show
End If
解决方案 »
- 阻止进入不好的网站,兼容所有ie内核怎么做
- 求助:如何使列表框中位置索引最大的项目总自动显示在列表框中?
- perspective控件问题
- 原在中文版下开发的项目,现在移到英文版vb6环境下开发,会存在什么问题吗?
- 抢分声明
- 紧急求救,关于返回一个结果集,给分100
- WPS 文件搜索程序, 我做的一个程序
- 怎样用VB让程得一个ASP程序我传一个字符串上去(不以菜为耻)
- 我用adodb写了一个数据库程序(高手进来看一盾)
- SOS SOS 为什么我点网页的链接时不会打开啊!!要点右键属复制网址到地址栏才能打开,好辛苦啊!
- WIN7 下运行VB开发的程序,unexpected error;quitting
- 200分求解关于WebBrowser1
If Not fullscreen Then
SetWindowPos lngHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, WS_CLIPCHILDREN)
Me.Show
form1.Top = 0
form1.Left = 0
form1.Width = Screen.Width
form1.Height = Screen.Height
fullscreen = True
Else
SetWindowPos form1.hwnd, -2, 0, 0, 0, 0, SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE
Call SetWindowLong(lngHwnd, GWL_STYLE, 382664704)
Me.Show
form1.BorderStyle = 2
form1.left=1280*13
form1.top=1280*13
form1.Width = 13785
form1.Height = 8745
fullscreen = False
End If
form1.top=1280*13
之后成功,单纯只设置left,或者top都能有效,想问一下是什么原因。
Me.Move 0, 0, VB.Screen.Width, VB.Screen.Height
End Sub
还有为什么top或者left设置一个就能有效果,两个屏幕之间的关系是什么样的,我做过一个小实验,时时显示一个屏幕的左上角坐标,结果从1屏到2屏的时候,只是横坐标扩大,这大概可以解释left的问题,那么top怎么解释呢?还有在窗口最大化的时候,左上角的纵坐标居然是负值,应该怎么理解,求解中。
还有,我如果获取Screen.Width,只能获取第一个屏幕的,但两个屏幕又有点连续的意思,为什么会出现这样的情况。
多显示器编程,你需要知道第2个显示器的 width和 height如果需要双屏的全屏,可以直接指定位置 0,0,第1个屏幕宽+第2个屏幕宽,屏幕高你想让他在第2个屏幕上全屏则是, 第1个屏幕宽,0,第2个屏幕宽,屏幕高也就是说,第2个屏幕可以视为第1个屏幕的计量长度的扩展,当然。。这和你的双屏工作模式的设置有关如果是普通的屏幕扩展类型则是这样,如果是双屏独立则需要其他方法实现