不想让form上的webbrowser抢去焦点(100分)

  • 主题发起人 主题发起人 xcwang
  • 开始时间 开始时间
X

xcwang

Unregistered / Unconfirmed
GUEST, unregistred user!
在form上的webbrowser一但被点击,父控件的focus会失去,怎么避免?
 
你干什么用啊,怕是实现这个功能,干扰了你别的功能。
 
呵呵,是这样的。我在一个canvas上放了几个webbrowser,
而统一起来看成一个整体,这个时候如果webbrowser拿到了focus
我的form就截获不到按键呢。
webbrowser中只希望有简单的图片显示等等
 
将他disabled试试。
 
用ApplicationEvent,在OnMessage事件里捕获按键,绝对可行。
 
hehe,我想把焦点给webbrowser也是同样的头痛呀!用hwnd,handle作参数好像都不起作用!
 
用webbrowser的onenter事件,用showmessage来一下,回车,就使webbrowser得到交点了
 
procedure .SetFocusToDoc;
begin
if webbrowser1.Document <> nil then
with webbrowser1.Application as IOleobject do
DoVerb(OLEIVERB_UIACTIVATE, nil, Self, 0, Handle, GetClientRect);
end;
 
CathyEagle的做法是让他获得焦点,但要他在任何情况下不获得焦点呢?
或者是在感知他获得焦点的时候把焦点交回form,怎么做?
 
谢谢CathyEagle,但Doverb的第三个参数用Self好像类型不匹配的呀,我用nil代替,
不知有没有什么不妥之处?
 
险些丢掉老脸皮,
笑煞天山苻不疑。
To avant:
  doverb中的self改成webbrowser1就可以了。

To xcwang:
  用ApplicationEvent的OnMessage事件,不管webbrowser是否获得焦点同样可以处
理你想处理的消息,比如按键。

 
CathyEagle,

请问ApplicationEvent怎么用,能稍微提示点吗?笨人不知道怎么查不到它的使用方法?
 
接受答案了.
 
后退
顶部