violinming
路人甲
路人甲
  • 注册日期2004-05-17
  • 发帖数9
  • QQ
  • 铜币153枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1083回复:0

在VC中怎么创建自定义点symbol,需要使用位图

楼主#
更多 发布于:2006-01-17 17:27
<P>小弟在做一个自定义symbol的例子,如果自己绘制一些形状已经能实现了,但是想用一些位图表示某些点要素,怎么搞呢.我把关键代码放这里,请指教:</P>

<P>STDMETHOD(SetupDC)(long hDC, double dpi, LPDISPATCH pBaseSym)<BR> {<BR>  if(m_pic.LoadBitmap("F:\\a.bmp"))<BR>   MessageBox(NULL,"haha","haha",MB_HELP);<BR>  CDC *pDC= CDC::FromHandle(HDC(hDC));<BR>  pDC->SelectObject(;m_pic);<BR>  return S_OK;<BR> }<BR> STDMETHOD(ResetDC)(long hDC)<BR> {<BR>  CDC *pDC= CDC::FromHandle(HDC(hDC));<BR>  CBitmap *temp = pDC->SelectObject(;m_pic);<BR>  temp->DeleteObject();<BR>  return S_OK;<BR> }<BR> STDMETHOD(Draw)(long hDC, long x, long y)<BR> {<BR>   CDC *pDC= CDC::FromHandle(HDC(hDC));<BR>   double pixWidth,pixHeight;<BR>   BITMAP* bm;<BR>   m_pic.GetBitmap(bm);<BR>   pixWidth = bm->bmWidth;<BR>   pixHeight = bm->bmHeight;<BR>   CDC dcMemory;<BR>   dcMemory.CreateCompatibleDC(pDC);<BR>            <BR>   CBitmap* pOldBitmap = dcMemory.SelectObject(;m_pic);<BR>   pDC->BitBlt(x,y,pixWidth,pixHeight,;dcMemory,0,0,SRCCOPY);<BR>   dcMemory.SelectObject(pOldBitmap);  <BR>  return S_OK;<BR> }</P>
喜欢0 评分0
游客

返回顶部