获取鼠标选中文字 MFC

 

继承CDHTMLDialog的类中获取IHTMLDocument2指针,从而简单实现获取鼠标选中文字
 
没涉及frame的多层嵌套,光考虑获取IHTMLDocument2指针就搞的人头大了,
貌似CDHtmlDialog::GetDHtmlDocument()可以直接取IHTMLDocument2指针的吧
可取出来肿么都是null咧?
 
先留着下面能用的以后再研究吧 

 

 

	CString strSource=_T("");
	BSTR bStrSelText = NULL;

 	CComPtr<IDispatch> spDispDoc;
 	this->m_pBrowserApp->get_Document(&spDispDoc);

 	CComPtr<IHTMLDocument2> spHtmlDoc = NULL;     
 	HRESULT hr = spDispDoc->QueryInterface(IID_IHTMLDocument2,(void**)&spHtmlDoc);//获取IHTMLDocument2指针,对html文件操作全靠它了

 	if (SUCCEEDED(hr) && spHtmlDoc != NULL)
 	{
 		IHTMLSelectionObject *pSelectObj	=	NULL;
 		HRESULT hrObj=spHtmlDoc->get_selection(&pSelectObj);

 		if (hrObj==S_OK && pSelectObj != NULL)
 		{
 			IDispatch *pDipsRange	=	NULL;
 			HRESULT hrCreateRange=pSelectObj->createRange(&pDipsRange);

 			if (hrCreateRange==S_OK && pDipsRange != NULL)
 			{
 				IHTMLTxtRange *pRange	=	NULL;
 			 	pDipsRange->QueryInterface(IID_IHTMLTxtRange,(void**)&pRange);

 			 	if (pRange!=NULL)
 			 	{
 			 		pRange->get_text(&bStrSelText);
 			 		strSource = (CString)bStrSelText;  //拿到字了
 			 		pRange->Release();
 			 	}
 			 	pDipsRange->Release();
 			}
 			pSelectObj->Release();
 		}
 	}


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值