CDC作图的问题

mxxslh 2009-06-17 10:27:00
我在OnDraw中用pDC做图后,需要在一个保存函数OnFileSave中保存为BMP格式的图形,请问怎样获得包含滚动条的完整pDC?
还有在窗口中建立一个X坐标,我希望用一个纵线来时时显示X坐标的位置,怎样用鼠标拖动的方式实现这条纵线呢?
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengrx 2009-06-18
  • 打赏
  • 举报
回复
1、获取整个窗口的DC GetWindowDC()
2.WM_LBUTTONDOWN(开始) WM_MOUSEMOVE(移动画线) WM_LBUTTONUP(结束)在三个事件里边处理对应的画图操作。
arthur____ 2009-06-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 MXXSLH 的帖子:]
我在OnDraw中用pDC做图后,需要在一个保存函数OnFileSave中保存为BMP格式的图形,请问怎样获得包含滚动条的完整pDC?
还有在窗口中建立一个X坐标,我希望用一个纵线来时时显示X坐标的位置,怎样用鼠标拖动的方式实现这条纵线呢?
[/Quote]

纵线

你得到X坐标。。
就可以了。。画多长。。用X 加上你想画的长度。
MOVETO(X,Y)
LINETO(X+长度,Y);
tkminigame 2009-06-18
  • 打赏
  • 举报
回复
case WM_MOUSEMOVE:
int x = LOWORD(lParam);
RECT rc;
::GetClientRect(&rc);
HDC hdc = getDC(hWnd);
::MoveTo(x,rc.top);
::LineTo(x,rc.bottom);
break;


大概是这样的吧。要想不闪烁,记录x的位置,在ondraw里面画。
Ryanwen 2009-06-17
  • 打赏
  • 举报
回复
1、获取整个窗口的DC GetWindowDC()
2、不是很明白你的意图

19,464

社区成员

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

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