首页
社区
课程
招聘
关于sdk 使用 IWebBrowser2控件。怎么使用事件?
发表于: 2011-9-9 15:08 5480

关于sdk 使用 IWebBrowser2控件。怎么使用事件?

2011-9-9 15:08
5480
对active不熟悉,只想要个现实网页,并且新打开网页在原窗口显示,还有就是处理下键盘。我网上找的代码

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;

//------------mycode---------
RECT rc;
IWebBrowser2* iWebBrowser=NULL;
VARIANT varMyURL;

LPOLESTR pszName=OLESTR("shell.Explorer.2");
GetClientRect(hWnd, &rc);

//--------------------------
switch (message)
{

case WM_CREATE:
  WinContainer.Create(hWnd, rc, 0,WS_CHILD |WS_VISIBLE);
  WinContainer.CreateControl(pszName);
  WinContainer.QueryControl(__uuidof(IWebBrowser2),(void**)&iWebBrowser);
  VariantInit(&varMyURL);
  varMyURL.vt = VT_BSTR;
  varMyURL.bstrVal = SysAllocString(_T("http://www.sina.com.cn"));
  iWebBrowser-> Navigate2(&varMyURL,0,0,0,0);
  VariantClear(&varMyURL);
  //iWebBrowser-> Release();
  ConnectEvents();
  break;
case WM_COMMAND:
  wmId    = LOWORD(wParam);
  wmEvent = HIWORD(wParam);
  // Parse the menu selections:
  switch (wmId)
  {
  case IDM_ABOUT:
   DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
   break;
  case IDM_EXIT:
   DestroyWindow(hWnd);
   break;
  default:
   return DefWindowProc(hWnd, message, wParam, lParam);
  }
  break;
case WM_PAINT:
  hdc = BeginPaint(hWnd, &ps);
  // TODO: Add any drawing code here...
  EndPaint(hWnd, &ps);
  break;
case WM_DESTROY:
  PostQuitMessage(0);
  break;
default:
  return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}

能显示网页,但没有键盘消息。而且不知道怎么处理事件。

路过的大哥大姐麻烦帮帮忙。新手,代码给全点

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
webbrowser控件自己会处理键盘消息。你只需要给它焦点就行。SetFocus()
2011-9-9 16:47
0
雪    币: 343
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
看LZ代码是通过shell.explorer.2显示了网页,要处理键盘消息得看它是否实现了相应接口。
2011-9-9 17:05
0
游客
登录 | 注册 方可回帖
返回
//