如何让TWebBrowser(DesignMode='on')可以接受Tab键﹖大家都知道,按Tab键会导致焦点消失(以转到下一个taborder的控件),
可是我现在希望TWebBrowser能够接受Tab键。我试过用Dialog的WantTab了,
没有用。谁有其他办法﹖
可是我现在希望TWebBrowser能够接受Tab键。我试过用Dialog的WantTab了,
没有用。谁有其他办法﹖
解决方案 »
- 做了一个登陆器,程序隐藏,再次激活显示 的问题 ,如何实现?
- 简单问题一个,抢分滴来……调用SQL存储过程保存用户密码的MD5值
- 程序设计的时候,每次都会跳出个窗口,填入sa,程序才开始执行
- Delphi自带的控件里有没有类似checkbox那样有checked值的按钮?按钮按下去选中,再按一次按钮恢复不选中?
- 如何将QUERY查询出来的值输出到TXT或XLS,最好提供简单的例子
- 关于TList的问题
- 想让EDIT只能输入数字,好象有个属性,请问是什么怎么改
- 请问DBGrid如何支持Sheft的快速多选功能
- 有谁能解决我的问题,50分相送????
- 是否有“流程编辑器”这种东西?
- dbgrid双击打开新窗口的问题
- 求助利用多张表生成treeview
const
StdKeys = [VK_TAB, VK_RETURN]; { 标准键 }
ExtKeys = [VK_DELETE, VK_BACK, VK_LEFT, VK_RIGHT]; { 扩展键 }
fExtended = $01000000; { 扩展键标志 }
begin
Handled := False;
with Msg do
if ((Message >= WM_KEYFIRST) and (Message <= WM_KEYLAST)) and
((wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0) or
(wParam in ExtKeys) and ((lParam and fExtended) = fExtended)) then
try
if IsChild((PageControl1.ActivePage.Controls[0] as TWebBrowser).Handle, hWnd) then
{ 处理所有的浏览器相关消息 }
begin
with (PageControl1.ActivePage.Controls[0] as TWebBrowser).Application as IOleInPlaceActiveObject do
Handled := TranslateAccelerator(Msg) = S_OK;
if not Handled then
begin
Handled := True;
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;
except
end;
end; // IEMessageHandler
好把 KeyDown, KeyUp, KeyPress 取出来。
最终在 KeyDown 里判断 Tab 键。这问题最终解决了,
解决办法,说穿了没什么:
既然Tab键会导致Focus消失,那再Focus一次就是了。