VC如何将HDC绘图句柄传入COM组件中

Li_Eddy 2016-07-16 01:15:19
以下是COM客户端和服务端的部分代码,报错行已标出。
服务端:
com组件中Draw函数的部分实现,希望通过传入的HDC在客户端画图。
STDMETHODIMP CComRobot::XCDrawInner::Draw(LONG hdc)
{
METHOD_PROLOGUE(CComRobot,CRobotInner)
CDC cdc;
HRESULT hResult;
cdc.Attach((HDC)hdc); //此行报错
}
客户端:
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
m_pISimpleDraw->Draw((LONG)dc.m_hDC);//通过获取到的接口指针调用Draw函数绘图。
}
不知道怎么才能传入有效HDC数据来绘图??????
...全文
109 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Li_Eddy 2016-07-16
  • 打赏
  • 举报
回复
COM组件封装时低级错误: STDMETHODIMP CComRobot::XCDrawInner::Draw(LONG hdc) { METHOD_PROLOGUE(CComRobot,CRobotInner) CDC cdc; HRESULT hResult; cdc.Attach((HDC)hdc); //此行报错 } CRobotInner写错,应该为CDrawInner。此错误只是中断允许,报异常,而无法确定具体原因。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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