我在picture control上画n条线,然后在双击任何一点双线之后,这条线删除。
但是picture control上有背景图片。在背景图片不改变 的情况下。双击的这条线删除。
我就想有什么方法吗??thank u
但是picture control上有背景图片。在背景图片不改变 的情况下。双击的这条线删除。
我就想有什么方法吗??thank u
解决方案 »
- UDP广播的问题,各位帮忙啊。
- 如何分辨普通com组件与activeX组件
- 不带文档和框架类的视图如何进行分割
- 怎样实现”打开“选项
- 怎样让Windows API MessageBox 发出来的消息处于最上面呢??!!急!!!!!!!!
- 问一个关于非模态对话框和属性页的问题,谢谢!!
- 一个简单问题:udp通信中怎样得到对方的ip地址,用什么函数?
- 我用CSplitterWnd切分了上下两个窗口,我需要在运行时换成左右的两个窗口怎么办?
- 给源代码 请进来帮忙
- 如何通过给出的IDispatch *来得知他具体是什么类型的
- 不能将参数1 从“unsigned long *”转换为“ULONG_PTR”
- 请教字符串相关的问题
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
你既然都把绘制信息保存下来了
那就可以用这些信息画图
删除相应的信息图自然就没了
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
你既然都把绘制信息保存下来了
那就可以用这些信息画图
删除相应的信息图自然就没了
我把点的坐标保存下来,然后删除我应该怎么删,我不指导应该有什么函数。。MFC我刚碰了1个月。。
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
你既然都把绘制信息保存下来了
那就可以用这些信息画图
删除相应的信息图自然就没了
我把点的坐标保存下来,然后删除我应该怎么删,我不指导应该有什么函数。。MFC我刚碰了1个月。。
这和MFC没关系
看你怎么保存的了
如果用数组赋值那赋个无效值过去就算删除了
如果用的list那就直接删除节点
如果是你自己定义的数据结构那就看你自己想怎么组织了
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
你既然都把绘制信息保存下来了
那就可以用这些信息画图
删除相应的信息图自然就没了
我把点的坐标保存下来,然后删除我应该怎么删,我不指导应该有什么函数。。MFC我刚碰了1个月。。
这和MFC没关系
看你怎么保存的了
如果用数组赋值那赋个无效值过去就算删除了
如果用的list那就直接删除节点
如果是你自己定义的数据结构那就看你自己想怎么组织了我不明白的是,怎么把他从屏幕上擦掉。那你 的意思把所有信息擦掉。然后点击的那部分全部删除其他重新再画一遍吗??
/* 基本几何结构 */
struct POINT
{
double x;
double y;
POINT(double a=0, double b=0) { x=a; y=b;} //constructor
};
struct LINESEG
{
POINT s;
POINT e;
LINESEG(POINT a, POINT b) { s=a; e=b;}
LINESEG() { }
};
struct LINE // 直线的解析方程 a*x+b*y+c=0 为统一表示,约定 a >= 0
{
double a;
double b;
double c;
LINE(double d1=1, double d2=-1, double d3=0) {a=d1; b=d2; c=d3;}
}; /**********************
* *
* 点的基本运算 *
* *
**********************/ double dist(POINT p1,POINT p2) // 返回两点之间欧氏距离
{
return( sqrt( (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y) ) );
}
bool equal_point(POINT p1,POINT p2) // 判断两个点是否重合
{
return ( (abs(p1.x-p2.x)<EP)&&(abs(p1.y-p2.y)<EP) );
}
/******************************************************************************
r=multiply(sp,ep,op),得到(sp-op)和(ep-op)的叉积
r>0:ep在矢量opsp的逆时针方向;
r=0:opspep三点共线;
r<0:ep在矢量opsp的顺时针方向
*******************************************************************************/
double multiply(POINT sp,POINT ep,POINT op)
{
return((sp.x-op.x)*(ep.y-op.y)-(ep.x-op.x)*(sp.y-op.y));
}
/*
r=dotmultiply(p1,p2,op),得到矢量(p1-op)和(p2-op)的点积,如果两个矢量都非零矢量
r<0:两矢量夹角为锐角;
r=0:两矢量夹角为直角;
r>0:两矢量夹角为钝角
*******************************************************************************/
double dotmultiply(POINT p1,POINT p2,POINT p0)
{
return ((p1.x-p0.x)*(p2.x-p0.x)+(p1.y-p0.y)*(p2.y-p0.y));
}
/******************************************************************************
判断点p是否在线段l上
条件:(p在线段l所在的直线上) && (点p在以线段l为对角线的矩形内)
*******************************************************************************/
bool online(LINESEG l,POINT p)
{
return( (multiply(l.e,p,l.s)==0) &&( ( (p.x-l.s.x)*(p.x-l.e.x)<=0 )&&( (p.y-l.s.y)*(p.y-l.e.y)<=0 ) ) );
}
我在下面做一个list 表示出来坐标。
这个不是主要问题吧。问题是我要 消除我双击的任何条线怎么办
你既然都把绘制信息保存下来了
那就可以用这些信息画图
删除相应的信息图自然就没了
我把点的坐标保存下来,然后删除我应该怎么删,我不指导应该有什么函数。。MFC我刚碰了1个月。。
这和MFC没关系
看你怎么保存的了
如果用数组赋值那赋个无效值过去就算删除了
如果用的list那就直接删除节点
如果是你自己定义的数据结构那就看你自己想怎么组织了我不明白的是,怎么把他从屏幕上擦掉。那你 的意思把所有信息擦掉。然后点击的那部分全部删除其他重新再画一遍吗??对呀
其实我这2天没想好怎么做这个构造体像有底色图片这种层可能也得重画了,photoshop的层也没有图片,它擦除也不能只擦某个线,当然删除某个记录是可以的。
其实我这2天没想好怎么做这个构造体像有底色图片这种层可能也得重画了,photoshop的层也没有图片,它擦除也不能只擦某个线,当然删除某个记录是可以的。我到现在都没啥好办法。
自己有以下几个问题
1.怎么辨认点在哪条线上。
2双击后Afxmessagebox 弹出,询问是否删除。ok后删除
3.怎么把线保存在构造体里面。
4怎么重画这个线。和剩下的线
5怎么用list 来表示线的数据。