如何才能实现IE地址栏的功能呢?

phafer 2002-09-27 10:54:15
比如在地址栏输入一个地址,能保存下来,下次再输入就能自动弹出一个下拉框,列出一些地址供选择。
...全文
19 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnsuyong 2002-09-27
  • 打赏
  • 举报
回复
如果你想得到有关收集整理历史URL的源代码,建议参考演示程序:
Delphi6\Demos\CoolStuf\webbrows.dpr
cnsuyong 2002-09-27
  • 打赏
  • 举报
回复
处方:利用TComboBox类的DroppedDown属性进行控制(该属性可读可写)。

如下代码点到为止,若有偏颇请多指教。

procedure TForm1.ComboBox1Change(Sender: TObject);
function NeedDropDown: Boolean;
begin
{该函数用于设置弹出下拉列表的条件}
Result := Pos('www.csdn', TComboBox(Sender).Text) = 1;
end;
begin
if NeedDropDown then begin
{在此进行下拉列表的整理(下拉之前)}
TComboBox(Sender).DroppedDown := True;//弹出下拉列表
end else begin
{在此进行下拉列表的整理或隐藏下拉列表}
end;
end;
THE_ROCK 2002-09-27
  • 打赏
  • 举报
回复
有个叫IEAdress的控件,不过你需要改动TCustomCombobox的AutoComplete属性的默认值,好像在stdctrl.pas中
xiaoxiaobai 2002-09-27
  • 打赏
  • 举报
回复
以下代码可以实现。
Button1 是主窗口 FrmMain 的一个按钮
FrmURL 包含一个 TComboBox 和两个 Button(确定和取消)
参考这个代码就可以实现了。

procedure TFrmMain.Button1Click(Sender: TObject);
var
inif : TIniFile;
i, c : Integer;
h : TStrings;
begin
FrmURL := TFrmURL.Create(Application);

History := TStringList.Create;
h := TStringList.Create;
inif := TIniFile.Create('record.ini');
inif.ReadSection('Record',h);
if h.Count>10 then
c := 10
else
c := h.Count;

History.Clear;
for i := 0 to c-1 do
History.Add(inif.ReadString('Record',IntToStr(i),'无法读取 ini 文件'));

FrmURL.ComboBox1.Clear;
FrmURL.ComboBox1.Items.Assign(History);
h.Free;
if FrmURL.ShowModal=mrOk then
begin

History.Insert(0,FrmURL.ComboBox1.Text);
if History.Count>10 then
c := 10
else
c := History.Count;

for i := 0 to c-1 do
inif.WriteString('Record',IntToStr(i),History.Strings[i]);

CurFile := FrmURL.ComboBox1.Text;
fcImageBtn1.Click;
end;
inif.Free;
end;
phafer 2002-09-27
  • 打赏
  • 举报
回复
其实想用ComboBox实现
但是不知道如何检测输入的字符,当条件成立时能自动弹出

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧