本人学着做了个IE的工具条,现在有个问题,就是按Tab键焦点不能移到我的工具条中的编辑框中,Google的就可以,这是为什么,大家给点思路.
谢谢。
谢谢。
解决方案 »
- 共享软件驱动级加密,谁有好的方案?
- 请问在delphi中怎么动态的创建存储过程吖。
- Delphi 2005-09专家榜, 我(cnCharles)连续3个月进入,高兴散分
- 为什么两个一样的双精度数值比较的时候Delphi认为不相等??
- 怎样用delphi实现vb的sendkey功能
- 如何对*.txt(文本文件)进行操作!!!!有急用!!!谢谢诸位老大啊!!!
- www.21cn.com的SMTP/POP3的mail server是什么?(smtp.21cn.com/pop.21cn.com不对!)
- 求版主别删除!www.new7wonders.com/ 距离世界七大奇迹选举结束日子不多了,至今为止参加投票的中国人只占总投票人数的5.9%,排名第5,这
- 紧急情况!!!告诉我注册号
- ADO to 连接 excle2013
- 关于李维的<实战delphi5X>的问题
- 请教一个字符传处理问题?
key:=#0;OK,isn't it?
{
if (fActivate)
{
SetFocus();
GotFocus();
if (lpMsg)
{
TranslateAcceleratorIO(lpMsg);
}
}
else
{
CComQIPtr<IOleInPlaceObject> spInPlaceObj = m_spUIBrowser;
if (spInPlaceObj)
{
spInPlaceObj->UIDeactivate();
}
}
return S_OK;}STDMETHODIMP CMyBand::HasFocusIO()
{
CWindow wndFocus = GetFocus();
return (IsChild(wndFocus) ? S_OK : S_FALSE);}STDMETHODIMP CMyBand::TranslateAcceleratorIO(LPMSG lpMsg)
{
if (WM_KEYFIRST <= lpMsg->message && lpMsg->message <= WM_KEYLAST &&
!IsCtrlN(lpMsg))
{
BOOL bHandled = SendMessage(WM_FORWARDMSG, 0,
reinterpret_cast<LPARAM>(lpMsg));
if (bHandled)
{
return S_OK;
}
}
return S_FALSE;}// Handler for WM_PARENTNOTIFY event
void CMyBand::OnParentNotify(UINT uMsg, UINT, LPARAM)
{
if (WM_MOUSEFIRST <= uMsg && uMsg <= WM_MOUSELAST)
{
GotFocus();
}
SetMsgHandled(FALSE);}void CMyBand::GotFocus()
{
if (m_spInputSite)
{
m_spInputSite->OnFocusChangeIS(GetUnknown(), TRUE);
}}
begin
if (lpMsg.WParam <> VK_TAB) then
begin
if (lpMsg.wParam < 128) then
begin
TranslateMessage(lpMSg);
DispatchMessage(lpMsg);
Result := S_OK;
end
else
Result := s_false;
end
else
begin
Result := S_ok;
end;
end;function TDemoDeskBand.UIActivateIO(fActivate: BOOL;
var lpMsg: TMsg): HResult;
begin
FHasFocus := fActivate;
FocusChange(HasFocus);
if HasFocus then
if BandForm <> nil then
BandForm.SetFocus;
Result := S_OK;
end;function TDemoDeskBand.HasFocusIO: HResult;
begin
Result := Integer(not HasFocus);
end;procedure TDemoDeskBand.FocusChange(bHasFocus: Boolean);
begin
if Site <> nil then
Site.OnFocusChangeIS(Self, bHasFocus);
end;procedure TDemoDeskBand.BandWndProc(var Message: TMessage);
begin
if (Message.Msg = WM_PARENTNOTIFY) then
begin
FHasFocus := True;
FocusChange(HasFocus);
end;
SavedWndProc(Message);
end;
以上是我的代码,好像差不多,就UIActivateIO不一样多些,难道问题在这个里面