首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请教怎么让CppWebBrowser响应回车

2014-01-22 
请问如何让CppWebBrowser响应回车在C++ builder 6 中 使用CppWebBrowser打开的baidu.com 在程序中敲 回车,

请问如何让CppWebBrowser响应回车
在C++ builder 6 中 使用CppWebBrowser打开的baidu.com 在程序中敲 回车,是没有反应的。在form的create方法中加入OleInitialize(NULL) 也没有效果,
使用如下代码 


//
先声明一个私有变量:
IOleInPlaceActiveObject __RPC_FAR *FOleInPlaceActiveObject;

//然后在主窗体添加一个ApplicationEvents控件,在它的OnMessage事件里天加入下代码:

void __fastcall TfmChildwin::ApplicationEvents1Message(tagMSG &Msg,
      bool &Handled)
{
        if(Msg.message==WM_KEYDOWN&&Msg.wParam==VK_RETURN)
        {
                IOleInPlaceActiveObject __RPC_FAR *iOIPAO;
                IDispatch __RPC_FAR *Dispatch;
                if(CppWebBrowser==NULL)
                {
                        Handled=false;
                        return;
                }
                Handled=(IsDialogMessage(CppWebBrowser->Handle,&Msg));
                if(Handled&&(!CppWebBrowser->Busy))
                {
                        if(FOleInPlaceActiveObject==NULL)
                        {
                                Dispatch=CppWebBrowser->Application;
                                if(Dispatch!=NULL)
                                {
                                        Dispatch->QueryInterface(__uuidof(IOleInPlaceActiveObject),(void**)&iOIPAO);
                                        if(iOIPAO!=NULL)
                                                FOleInPlaceActiveObject = iOIPAO;
                                }
                        }
                        if(FOleInPlaceActiveObject!=NULL)
                               // if((Msg.message == WM_KEYDOWN||Msg.message==WM_KEYUP)&&(Msg.wParam==VK_BACK||Msg.wParam==VK_LEFT||Msg.wParam==VK_RIGHT)){}
                               // else
                                        FOleInPlaceActiveObject->TranslateAccelerator(&Msg);
                }
        }
}
 
提示"Undefined symbol 'Idispatch'", 请问如何解决?


[解决办法]
Idispatch? 还是 IDispatch? 请注意大小写。

热点排行