| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2303 人关注过本帖
标题:[求助]一个类似acad的十字光标的程序,如果同时快速移动鼠标,在老位置会多 ...
只看楼主 加入收藏
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
以下是引用zhangkai1在2007-6-30 23:07:11的发言:
老大,有了“Form1_Resize”,“Form1_MaximumSizeChanged”根本就不调用阿。

把代码放到这两个里面也行


2007-07-01 10:39
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
回复:(zhangkai1)[upload=rar]viewFile.asp?ID=233...
兄弟:已经改好了,没问题了。你看看。
h9zmS3us.rar (34.36 KB) [求助]一个类似acad的十字光标的程序,如果同时快速移动鼠标,在老位置会多出一道十字线(如图)




另外,原来好像把问题复杂化了。

2007-07-01 10:50
zhangkai1
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2005-11-20
收藏
得分:0 

老大,我的问题是以form1为画布画,双击标题栏进行最大化或最小化时,没有在老位置会多出一道十字线的问题。

而以form1中的pictureBox1为画布,进行最大化或最小化时,会在老位置会多出一道十字线。
这是怎么回事?

2007-07-02 07:55
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 

感觉LZ是要实现传说中的“像皮条”功能。使之不产生MOUSE画线的残影,可以保存一个旧点,来用背景色画一切OK。一下说不清。哎可怜现在网线没搞好,我有DEMO下次有机会传上来。建立搜索(BAIDU)像皮条绘图方法


XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-07-02 13:35
zhangkai1
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2005-11-20
收藏
得分:0 
斑竹就是斑竹,
我想做一个简单的CAD程序,首先想模拟好CAD的十字光标。我觉得CAD的十字光标应该是用“像皮条”的功能实现的,于是我用gdi32.DLL的SetROP2(IntPtr hDC, int nDrawMode)、MoveToEx(IntPtr hDC, int x, int y, ref POINTAPI lpPoint)、LineTo(IntPtr hDC, int x, int y)三个函数,实现“像皮条”的功能。
我在Form1里加了一个pictureBox1作为画布,“像皮条”的功能已经实现。
现在的问题是:
双击标题栏进行最大化或最小化时,在鼠标的老位置会多出一道十字线。

2007-07-02 15:10
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 

如果在PAINT或其他地方没有缓存绘图的数据的话,只有检查你的代码了。


XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-07-02 15:16
zhangkai1
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2005-11-20
收藏
得分:0 
实现“像皮条”的功能:
1、先在老起点到老终点划一线,因为开始时,老起点等于老终点,因此,这道线等于没画。(以后就不一样了)
2、再在新起点到新终点画一线。
3、老起点=新起点,老终点=新终点。
重复1、2、3。
我现在的问题是,窗口重画的顺序是怎样的?双击标题栏进行最大化或最小化时,如果同时快速移动鼠标,在鼠标的老位置会多出一道十字线。这可能是第一步老起点不等于老终点,可是我不知道在哪儿改动。
2007-07-02 16:56
zhangkai1
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2005-11-20
收藏
得分:0 

protected override void OnPaint(PaintEventArgs e)
{
old_Start_X = old_End_X;
old_Start_Y = old_End_Y;
}

2007-07-02 17:00
zhangkai1
Rank: 1
等 级:新手上路
帖 子:77
专家分:0
注 册:2005-11-20
收藏
得分:0 
斑竹:Demo呢?
2007-07-03 23:12
快速回复:[求助]一个类似acad的十字光标的程序,如果同时快速移动鼠标,在老位置 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013127 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved