从VB6进行WebBrowser控制全屏检测
我正在尝试用WebBrowser控件检测全屏模式从VB6进行WebBrowser控制全屏检测,vb6,webbrowser-control,Vb6,Webbrowser Control,我正在尝试用WebBrowser控件检测全屏模式 Private Sub WebBrowser1_OnFullScreen(ByVal FullScreen As Boolean) Dim itState As Integer itState = chkOnTop.Value If FullScreen = True Then chkOnTop.Value = vbUnchecked Else chkOnTop.Value = itState End If End Su
Private Sub WebBrowser1_OnFullScreen(ByVal FullScreen As Boolean)
Dim itState As Integer
itState = chkOnTop.Value
If FullScreen = True Then
chkOnTop.Value = vbUnchecked
Else
chkOnTop.Value = itState
End If
End Sub
但它不起作用,即使我试图在双击它时获得这样一个简单的返回值,以获得全屏模式:
Private Sub WebBrowser1_OnFullScreen(ByVal FullScreen As Boolean)
Form1.Caption = CStr(FullScreen)
End Sub
下面是要加载到WebBrowser控件中的名为example.htm的htm文件:
<html>
<body topmargin="0" leftmargin="0" scroll="no">
<iframe
width="640"
height="385"
src="http://www.youtube.com/embed/xtYIEBOQ1eQ?rel=0&autoplay=1"
allowfullscreen="true"
menu="false"
frameborder="0">
</iframe>
</body>
</html>
所以,我真正的问题是:
当视频加载到WebBrowser控件中,您双击视频,它将进入全屏模式,如果您再次双击,它将返回正常查看模式
现在我想检测这些事件
有人能帮我吗?MSDN页面提到WebBrowser对象不支持该事件。但是,我确实发现以下代码:
Private Sub Form_Activate()
WebBrowser1.FullScreen = True
End Sub
Private Sub WebBrowser1_OnFullScreen(ByVal FullScreen As Boolean)
MsgBox FullScreen
End Sub
已成功显示值为True的消息框。所以,我不知道为什么这不适用于您的第二位代码
另一方面,这行代码有故障:
chkOnTop.Value = Unchecked
正确的常量为vbUnchecked,在VB6文档中查找CheckBox控件时,将看不到该常量。改为查看常量部分;您将看到,Unchecked只是value属性的值0的描述,而不是等于0的常量。而且,所有带有itState字符串的代码行都是冗余的;您只需将当前值存储到一个变量中,并在不更改它的情况下重置该值。双击表单将最大化表单窗口,但不会使webbrowser全屏显示 你双击什么 使用1个webbrowser控件和1个timer控件创建一个仅包含1个表单的新项目,并输入以下代码:
'1 form with:
' 1 webbrowser control: Name=WebBrowser1
' 1 timer control : Name=Timer1
Option Explicit
Private Sub Form_Click()
With WebBrowser1
.FullScreen = Not .FullScreen
End With 'Webbrowser1
End Sub
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
Caption = CStr(Now) & " : " & CStr(WebBrowser1.FullScreen)
End Sub
Private Sub WebBrowser1_OnFullScreen(ByVal FullScreen As Boolean)
Caption = "OnFullScreen event fired"
End Sub
Private Sub Form_Activate()
WebBrowser1.FullScreen = True
End Sub
当您单击表单的背景时,它将切换webbrowser控件的全屏状态
计时器将每秒两次显示全屏状态,并在当前时间之前显示,以表明显示此状态的正是计时器
当OnFullScreen事件触发时,它将在标题中显示,而不是在当前时间之前,它将在500毫秒内被计时器覆盖,但当您注意时,您会看到它。请添加以下两行:
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
显然,您可以将代码放置在form_load之外的其他位置,并且根据您的包含列表,您可能需要或多或少的前置
该代码通过以下形式在我的VB6系统中很好地应用于我:
Me.WindowState=vbMaximized
或:
Me.WindowsState=FormWindowsStateContents.vbMaximized如果您可以使用webbrowser控件制作表单的Screen Dump alt printscreen,并编辑您的原始帖子以向我们展示,这可能会向我们展示更多您试图做的事情。hi@Hrqls,我没有正确表达自己,请再次查看我的问题,我扩展了它。嗨@BobRodes,是的,关于chkOnTop你是对的。值,我编辑了它,请再次查看我的问题,我扩展了它以便更好地理解。
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized