 |
在MSDN的Plantform SDK中有关于WebBrowser的介绍(微软的Knowledge Base的文章:“Q156693 SAMPLE: IEZoom.exe Changes the Font Size of WebBrowser Control”),其中讲了怎样用VC改变IE字体,没有直接的方法,必须用接口函数指针。
easyworld的意见:
现在可以用ExecWB命令改变fontsize了。
主持人注:可以使用ExecWB并传递OLECMDID_ZOOM命令作为cmdID参数获得缩放级别的当前值。缩放级别指的是Internet Explorer中当前显示的字体大小。它和Internet Explorer中“查看”菜单的“文字大小”相当。
获得当前字体大小后, 你可以设置它为其他值。默认值为2, 对应着菜单中的中等。因为选项允许2个级别较大,而2个级别较小,缩放级别的范围为0到4,0最小,而4最大。OLECMDID_GETZOOMRANGE命令返回合法的字体大小范围,应该为0到4。
下面的步骤演示了如何添加这个功能到你定制的浏览器:
1、在Visual Basic 6.0中建立一个新的工程。默认创建Form1。
2、添加Microsoft Internet Controls到你的组件列表。
3、添加WebBrowser control和三个按钮到Form1。
3、复制并粘贴下面的代码到Form1:
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.china-askpro.com"
Command1.Caption = "获得当前字体大小"
Command2.Caption = "减小字体"
Command3.Caption = "增大字体"
End Sub
Private Sub Command1_Click()
Dim Z As Variant 'Z is the value to hold the zoom level.
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Null, Z
MsgBox "The current font size is " & Z
End Sub
Private Sub Command2_Click()
Dim Z As Variant 'Z is the value to hold the zoom level.
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Null, Z
If Z > 0 Then
Z = Z - 1
Else
Z = 0
End If
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Z, Null
End Sub
Private Sub Command3_Click()
Dim Z As Variant 'Z is the value to hold the zoom level.
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Null, Z
If Z < 4 Then
Z = Z + 1
Else
Z = 4
End If
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, Z, Null
End Sub
5、运行工程。当页面加载后,可以按命令按钮改变WebBrowser控件的字体大小。
此问题由Zhao Yu回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Delphi, VCL, Borland, Visual Basic, VB, Web浏览器, ie, netscape。
|