11、设置TWebBrowser的编码
为什么我总是错过很多机会?其实早就该想到的,但是一念之差,便即天壤之别。当时我要是肯再多考虑一下,多试验一下,这就不会排到第11条了。下面给出一个函数,搞定,难以想象的简单。
procedure SetCharSet(AWebBrowser: TWebBrowser; ACharSet: String);
var
RefreshLevel: OleVariant;
Begin
IHTMLDocument2(AWebBrowser.Document).Set_CharSet(ACharSet);
RefreshLevel :=7; //这个7应该从注册表来,帮助有Bug。
AWebBrowser.Refresh2(RefreshLevel);
End;
--------------------------------------------------------------------------------------------------------
12、在TWebBrowser中输入字符时激活菜单的解决
许多朋友编程的时候都遇到了这样一个问题,在TWebBrowser中输入时,键入的字符如果与菜单(用ToolBar做的菜单)的加速键相同就会激活菜单。有朋友解决办法是把加速键前面的“&”符号去掉,使得字符失去“加速”功能,这种方法未尝不可,只不过显得不够“专业”。其实略加分析我们就可以想到,是ToolBar抢先处理了按键(因为ToolBar本身就设计为用来实现具有Windows新风格的菜单),所以只需要修改ToolBar的源代码中处理菜单按键的那部分代码即可,方法如下:
1)、在$(Delphi)\source\vcl目录下找到comctrls.pas,拷贝到自己的程序所在目录,然后打开它。
2)、找到TToolBar.CMDialogChar过程,把过程体注释掉(如果你愿意的话,可以修改它)。
3)、重新编译自己的程序。
怎么样,是不是很简单?但它确实有效。
--------------------------------------------------------------------------------------------------------
13、去掉TWebBrowser的滚动条
缺省地,TWebBrowser是滚动条的,虽然我们可以在网页中设置不需要滚动条,不过,有些时候可能会有特殊的要求,比如,网页是有滚动条的,但又想去掉它该怎么办呢?很简单,下面给出两行代码,都可以达到目的,可谓殊途同归。
1)、IHTMLBodyElementDisp(IHTMLDocument2(WebBrowser1.document).body).scroll:= ''''no'''';
2)、WebBrowser1.oleobject.Document.body.Scroll := ''''no'''';
注:第一种方法需要在uses部分加上MSHTML_TLB或者MSHTML。
--------------------------------------------------------------------------------------------------------
14、通过IUniformResourceLocator接口建立Internet快捷方式
前面说到的显示“添加到收藏夹”模式对话框的方法中举了一个建立Internet快捷方式的例子,就其本身来说不太规范,属于取巧一类的方法。下面介绍的方法是通过接口来实现的。
procedure CreateIntShotCut(aFileName, aURL: PChar);
var IURL: IUniformResourceLocator;
PersistFile: IPersistfile;
begin
if Succeeded(CoCreateInstance(CLSID_InternetShortcut,
nil,
CLSCTX_INPROC_SERVER,
IID_IUniformResourceLocator,
IURL)) then
begin
IUrl.SetURL(aURL, 0);
Persistfile := IUrl as IPersistFile;
PersistFile.Save(StringToOleStr(aFileName), False);
end;
end;
其中IUniformResourceLocator接口的声明在IeConst.pas中,IeConst.pas可以在网站IE & Delphi找到; IPersistfile接口的声明在ActiveX.pas中。
注:这个函数的AURL参数必须包含协议前缀,如“Http://eagleboost.myrice.com”。
最先发表日期:2000年07月25日
最后修改日期:2001年02月07日
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




