高手只需要一秒钟就可以了。谢谢!

visame 2008-09-10 02:05:05
我不明白为什么要连续两次使用GetWindow(GW_CHILD);
既然我要更改WebBrowser控件的状态,可以直接sendmessage给他啊。干嘛要sendmessage给pwndIEHTML->m_hWnd???
pwndIEHTML->SendMessage(WM_COMMAND, wParam, (LPARAM)pwndIEHTML->m_hWnd);

pwndIEShell/pwndIEHTML在这里到底有什么用呢?
谢谢!

将WebBrowser切换至编辑状态:

void CWebBrowser2::OnGotoEditMode()
{
CWnd* pwndIEShell = NULL;
CWnd* pwndIEHTML = NULL;

pwndIEShell = this->GetWindow(GW_CHILD); //this是CWebBrowser2指针
if (pwndIEShell)
{
pwndIEHTML = pwndIEShell->GetWindow(GW_CHILD); //WebBrowser控件的窗口关系你可以通过spy++来观察,这里不累赘
}

if(pwndIEHTML != NULL)
{
WPARAM wParam = MAKELONG(IDM_EDITMODE, 1);//IDM_EDITMODE换为IDM_BROWSEMODE就返回浏览模式
pwndIEHTML->SendMessage(WM_COMMAND, wParam, (LPARAM)pwndIEHTML->m_hWnd);
}
}
...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
andywiliang 2008-09-20
  • 打赏
  • 举报
回复
帮顶............

-------------------------------------------------------
万部在线免费电影
http://176969.cn



cnzdgs 2008-09-10
  • 打赏
  • 举报
回复
两次GetWindow是取子窗口的子窗口,因为浏览器控件是三层嵌套的。
发送WM_COMMAND消息时,最后参数需要给产生该消息的控件句柄。

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧