用TWebBrowser写浏览器,怎样实现网页中的Edit的自动完成功能,即在Edit上双击,就会弹出曾经键入过的内容。各位大侠,拜托拜托!!(100分)

  • 主题发起人 主题发起人 fzqdfw
  • 开始时间 开始时间
F

fzqdfw

Unregistered / Unconfirmed
GUEST, unregistred user!
用TWebBrowser写浏览器,怎样实现网页中的Edit的自动完成功能,即在Edit上双击,就会弹出曾经键入过的内容。各位大侠,拜托拜托!!
 
Where is 大侠???????
 
我不会,留个名吧,要不还不让灌水。xxjcw
 

顺便问一下,下面的代码能添加到收藏夹
procedure TFraIE.AddtoFavorites1Click(Sender: TObject);
var
ShellUIHelper: ISHellUIHelper;
url, title: Olevariant;
begin
Title := WebBrowser.LocationName;
Url := WebBrowser.LocationUrl;
if Url <> '' then
begin
ShellUIHelper := CreateComObject(CLSID_SHELLUIHELPER) as IShellUIHelper;
ShellUIHelper.AddFavorite(url, title);
end;
这里我重新加载程序中的收藏夹内容
end;
但是在WebBrowser上点右键->[添加到收藏夹]以后,我便没办法处理重新加载程序中的收藏夹内容,
我想问的是WebBrowser上点右键->[添加到收藏夹]时,有什么事件可以得到吗???
 
////这是我摘录的,但对IE页面中的edit无效,但能否有类似的解决方法

使编辑框具有类似IE的自动完成功能在shwlapi.dll中有一个函数SHAutoComplete。调用这个函数可以给Edit控件添加自动完成的功能。

注意:调用这个函数前一定要先调用ole初始化函数CoInitialize。下面是例子程序:

unit AutoCompleteUnit;

interface

uses Windows, StdCtrls, ComObj;//comobj的初始化部分调用了coInitialize函数,所以等于隐式调用了这个函数

Const

SHACF_DEFAULT = $0;

SHACF_FILESYSTEM = $1;

SHACF_URLHISTORY = $2;

SHACF_URLMRU = $4;

SHACF_URLALL = (SHACF_URLHISTORY Or SHACF_URLMRU);

SHACF_AUTOSUGGEST_FORCE_ON = $10000000;

SHACF_AUTOSUGGEST_FORCE_OFF = $20000000;

SHACF_AUTOAPPEND_FORCE_ON = $40000000;

SHACF_AUTOAPPEND_FORCE_OFF = $80000000;

function AutoComplete(editField: TEdit; dwFlags: DWORD): Boolean;

implementation

function SHAutoComplete(hwndEdit: HWND; dwFlags: dWord): LongInt;

stdcall; external 'shlwapi.dll';

function AutoComplete(editField: TEdit; dwFlags: DWORD): Boolean;

begin

Result := (SHAutoComplete(editField.Handle, dwFlags) = 0);

end;

end.
 
使用SHAutoComplete函数只能自动完成文件路径或URL,只是把Windows保存好的东西取出来而已。对于其他输入字段,我想还是需要自己写结构文件或注册表才能完成类似功能,那是不是很傻呢?
 
IE里面设置一下就可以了
 
to: dingbaosheng
如何设置??????????
 
1、打开Internet选项
2、切换到内容页
3、点击 个人信息 中的 自动完成(U)... 按钮

OK
 
这个问题我以前也遇到过,留下你的email,我发给你
 
有什么秘密啊,何必发什么邮件呢??真是的自己高出来的东西,大家一起公享多好啊。。
。。。。
 
这样行不行
如果你是和IE共享URL的话,只要设置一下就可以了。
使用SHAutoComplete函数只能自动完成文件路径或URL

如果仅仅是你的软件用到然后自到列表什么的。

只要把每次输入的URL先放了一个数据表中。然后不用EDIT(当然也可以)我用DELOOKCOM
就可以了,每次把曾经输入的输出来就可以了。
 
接受答案了.
 
后退
顶部