我现在的做法是:1,在view类里添加变量m_pStart2,在CDrawView::OnLButtonDown里记录起始位置:
m_pStart = point;3,在CDrawView::OnLButtonUp里开始画直线
CClientDC dc(this);
dc.MoveTo(m_pStart);
dc.LineTo(point);这种方法出现的问题是:
1,画线时,必须等待几秒钟后,才能看到直线在客户区显示
2,程序的大小发生变化时,如最大化,变大,缩小,则画上的直线全部消失请问这2个问题怎么解决,是不是我的画线方法不对??
m_pStart = point;3,在CDrawView::OnLButtonUp里开始画直线
CClientDC dc(this);
dc.MoveTo(m_pStart);
dc.LineTo(point);这种方法出现的问题是:
1,画线时,必须等待几秒钟后,才能看到直线在客户区显示
2,程序的大小发生变化时,如最大化,变大,缩小,则画上的直线全部消失请问这2个问题怎么解决,是不是我的画线方法不对??
解决方案 »
- wireshark抓本机发送的到192.168.0.2的数据包遇到的问题(回复均有分)
- hash算法出现的错误!在加70分等达人170
- vc中使用OpenFile打开文件却无法关闭?
- 请问关于WSAAysncSelect模型的问题,急急急!!!
- 急,怎么样才能让Lebel控件自动换行呀!!!!
- html help workshop高级使用
- COM的初级问题
- 请问:如何将几副图片放入资源吕文件的一个位图TMP中
- 我想给我已做好的ATL写的EXE服务加个参数运行,并且合并成一个文件,VC++6.0怎么做好,建个什么好?
- TurboC 2.0 和 TurboC 3.0 有何区别?
- vc编写的拼图游戏网络版
- 对于位移操作
在你的LButtonDown()里传递点参数就OK了
{
point2=point;//point2跟你定义的起始点一样
Invalidate();//引起窗口重绘
}
在你的OnDraw()你就可以绘图了,这样子就不会消失了。
是这个效果么?还是要做绘图板啊?还有啊 ,你的画线就是两个事件的响应啊,效果不好,只能鼠标松开才响应,也没有半天才响应啊。
第二个问题如果想在重绘时画的线仍然生效,要在CDocument的派生类里将你画过的首尾点序列化到文件里,之后在CView类的OnDraw函数里重绘保存的点。