一个画图程序的问题....... 你看看这个函数可能对你有帮助setrop2(),特别是里面的参数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码来了:class CTestView{protected: CPoint m_ptLBDown; BOOL m_bLBDown; CPoint m_ptMove;}CTestView::CTestView(){ m_bLBDown = FALSE;}void CTestView::OnLButtonDown(UINT nFlags, CPoint point) { m_ptLBDown = point; m_ptMove = point; m_bLBDown = TRUE; CView::OnLButtonDown(nFlags, point);}void CTestView::OnMouseMove(UINT nFlags, CPoint point) { if(m_bLBDown) { CClientDC dc(this); dc.SetROP2(R2_NOTXORPEN); dc.MoveTo(m_ptLBDown); dc.LineTo(m_ptMove); dc.MoveTo(m_ptLBDown); dc.LineTo(point); } m_ptMove = point; CView::OnMouseMove(nFlags, point);}void CTestView::OnLButtonUp(UINT nFlags, CPoint point) { m_bLBDown = FALSE; CView::OnLButtonUp(nFlags, point);}应该能达到你的要求了,具体逻辑自己设计。 haizhiyu的代码不错!我想也应该解决了你的问题! 适时画图,1。每次清屏,肯定是最差的,效率和效果上都差;2。使用防闪,还是不够好。(主要是效率上,onpaint也很难控制那些东西不要重画)3。使用异或码,应该是最好的。(二员异或对于画线是足够了。) 哎,辛苦了这么久居然没分,木头,试过我的代码了吗?异或就这样使用SetROP2(R2_XORPEN); SetROP2(R2_XORPEN);这就是使用异或笔进行画线,用到的原理:和电子电路的异或效果一样。画2次就等于啥都没有。(实际上也就是对象素颜色进行异或运算)具体使用时,需要使用那种,api大全上应该都有列出。 CIMAGE保存为JPG时如何调节 压缩比 一个关于MFC的问题 高手帮忙,终止CWinThread派生线程的问题 平行采集图像拼接问题 深圳一医院集体戴钢盔上班防医闹袭击(岁末最强新闻 多图) 一個關於mfc建工程的問題 error: cannot access public member declared in class 'UFO_Base'??? 如何使veb浏览器窗口自动调整大小? 设置CListCtrl多行被选中的问题 请问如何在asp中读取另外一个asp文件返回的xml字符串,作为本asp文件的一个变量 在VC++和C++ Builder中 VC中关闭窗口问题
class CTestView
{
protected:
CPoint m_ptLBDown;
BOOL m_bLBDown;
CPoint m_ptMove;
}CTestView::CTestView()
{
m_bLBDown = FALSE;
}void CTestView::OnLButtonDown(UINT nFlags, CPoint point)
{
m_ptLBDown = point;
m_ptMove = point;
m_bLBDown = TRUE;
CView::OnLButtonDown(nFlags, point);
}void CTestView::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bLBDown)
{
CClientDC dc(this);
dc.SetROP2(R2_NOTXORPEN);
dc.MoveTo(m_ptLBDown);
dc.LineTo(m_ptMove);
dc.MoveTo(m_ptLBDown);
dc.LineTo(point);
}
m_ptMove = point;
CView::OnMouseMove(nFlags, point);
}void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
m_bLBDown = FALSE;
CView::OnLButtonUp(nFlags, point);
}应该能达到你的要求了,具体逻辑自己设计。
1。每次清屏,肯定是最差的,效率和效果上都差;
2。使用防闪,还是不够好。(主要是效率上,onpaint也很难控制那些东西不要重画)
3。使用异或码,应该是最好的。(二员异或对于画线是足够了。)
用到的原理:和电子电路的异或效果一样。画2次就等于啥都没有。
(实际上也就是对象素颜色进行异或运算)具体使用时,需要使用那种,api大全上应该都有列出。