枪答题:限时专送200分(200分)

  • 主题发起人 主题发起人 DNChen
  • 开始时间 开始时间
D

DNChen

Unregistered / Unconfirmed
GUEST, unregistred user!
我在form上放一个ie的ocx,然后,打开一个网页,我希望能够直接让他滚动到底部,
我找不到它的handle.
记住,不能用网页来实现这个功能,必须用delphi
5天时间,没人回答也就没有意义了,我将分收回。
 
用d5?ie ocx是指webbrower吗?
 
whydo
n't u send a ctrl+end?
i will try tonorrow
 
CJ:your english is coolB!
 
for menxin: yes
for cj: 没有handle也能够发吗?
for jams:什么意思?
for peterwang: coolB? 什么B? Bad or Beautiful? 呵呵
 
呵呵,>>就是跟踪,我没猜错吧。
我也 >>! :)
 
hhe, sorry for that tonorrow, i am too lazzy to currect it when
I find the problem:)
try focus the ie first and send key to application, just a idea.
never tried.
 
Delphi5带的Twebbrowser就是从ie的ocx来的,它继承于toldcontrol-
>twincontrol有handle
 
handle is not problem.
use enumchildwindow can find the handle of scrollbar (i think that time u
have only 1 pair scroll bars in ur form, right?). then
send message to that
vscroll bar's handle. maybe work.
i'm too lazy to try it.
 
webbrower的handle没有问题,关键是它不起作用,不信可以用tab试着找到它,再按
end,没用!
想了个没有办法的办法,挺愚的,对付着用吧 ^_^
var p:tpoint;
begin
p:=WebBrowser1.ClientToScreen(WebBrowser1.ClientRect.TopLeft);
SetCursorPos(p.x+1,p.y+1);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTup,0,0,0,0);
keybd_event(VK_END,0,0,0);
end;
 
to menxin: 呵呵,八仙过海,各显神通啊!
 
handle不起作用? 怎么会?
对了, 关键如果是有frame, scroll哪个frame呀:-(
所以用sendkey会有问题:-(
 
cytown:你可以试一下。如果有作用的话,可就简单了直接送end就行。
 
ie5和ie4是有区别的。
 
menxin的方法最有效,可是损点,呵呵,明天还有一天哦,
 
这样试试:-)
焦点调到webbrowser1上, 然后sendkey end到form1上.
 
没办法。不行换ie4试试。
 
在ie的ocx中不能用键盘进行控制,我已经试过多次啦,在浏览网页时不能用程序控制
获得焦点,也找不到句柄,最后在delphi4中用html控件解决了问题。
 
后退
顶部