各位大侠:
我现有一程序是exe调dll运行的,dll里是主程序,是个单文档结构的,view是CHTMLView派生来的,现在在view中加载的网页,选中文字按ctrl+C,却无法拷贝。
我在程序View里没有重载任何拷贝函数。但奇怪的是运行程序里help,chm文件后,按ctrl+C又可以拷贝了,不知是为什么呀? 请各位大位不吝赐教。在下感激不尽!
我现有一程序是exe调dll运行的,dll里是主程序,是个单文档结构的,view是CHTMLView派生来的,现在在view中加载的网页,选中文字按ctrl+C,却无法拷贝。
我在程序View里没有重载任何拷贝函数。但奇怪的是运行程序里help,chm文件后,按ctrl+C又可以拷贝了,不知是为什么呀? 请各位大位不吝赐教。在下感激不尽!
{
ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT,NULL, NULL);
}运行点view copy,到其对应的函数,并执行ExecWB(OLECMDID_COPY, OLECMDEXECOPT_级DODEFAULT,NULL, NULL); 可能什么反应都没有。结果还是不行。重载了OnShowContextMenu(),让其调用CHTMLView中的相应函数。仍然无效。HRESULT CBrowserView::OnShowContextMenu(DWORD dwID, LPPOINT pPoint, LPUNKNOWN pcmdtReserved, LPDISPATCH pdispReserved)
{
return CHtmlView::OnShowContextMenu(dwID,pPoint,pcmdtReserved,pdispReserved);
}
{
ExecFormsCommand(IDM_COPY, NULL, NULL);
return;
}
做个demo.可以copy,却发现CHTMLView中有OnEditCopy()这个函数,在其设位置上设断点trace,程序并没有进那个函数,一样可以copy。就是不知自已程序中的页文字为什么不能copy?
ExecWB (OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT, NULL, NULL);3. Edit OnUpdateEditCopy:
OLECMDF olecmdf = QueryStatusWB (OLECMDID_COPY);
pCmdUI->Enable (olecmdf & OLECMDF_ENABLED);For Cut and Paste you have to do the same.
Command ID for Cut is OLECMDID_CUT and for Paste is OLECMDID_PASTE.