who*_*ddy 4 delphi input twebbrowser
我有一个通过TWebBrowser加载网页的应用程序,在这个页面上我有一些HTML输入.我想要的是更改输入的值并将插入位置设置为结尾.
这就是我现在所拥有的:
procedure SetInputValue(Document : IHTMLDocument2; const ElementId, NewValue : String);
var Doc : IHTMLDocument3;
El : IHTMLElement;
begin
Doc := Document as IHTMLDocument3;
if Assigned(Doc) then
begin
El := Doc.getElementById(ElementId);
if Assigned(El) then
begin
if El.tagName = 'INPUT' then
(El as IHTMLInputElement).Value := NewValue;
(El as IHTMLInputElement).select;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这段代码设置输入值并突出显示文本部分.我知道IHTMLInputTextElement2接口,但它只能从IE9获得
你应该用 IHTMLTxtRange
var Tr: IHTMLTxtRange;
Tr := (El as IHTMLInputElement).createTextRange;
Tr.collapse(true);
Tr.moveEnd('character', Length(NewValue));
Tr.moveStart('character', Length(NewValue));
Tr.select();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |