1.在一个窗体随意画了几条斜线(长度随意),并保存了每个线条的起点,终点
用鼠标在窗体上点击,如何判断点击的点在某一根线条上?2.在一个窗口了放置了几个子窗口(对话框的无模式窗体),现在在父窗口上画线(线会穿越子窗体的所在位置),如何防止该线条在子窗体上绘制?效果可见微软access中的编辑查询时,在两个表之间托拽产生的线条。
用鼠标在窗体上点击,如何判断点击的点在某一根线条上?2.在一个窗口了放置了几个子窗口(对话框的无模式窗体),现在在父窗口上画线(线会穿越子窗体的所在位置),如何防止该线条在子窗体上绘制?效果可见微软access中的编辑查询时,在两个表之间托拽产生的线条。
解决方案 »
- 怎么样在Inno Setup安装包中包含另一个setup安装程序
- 求助 :MFC下,如何才能实现,窗口大小随每次打开的图片的大小动态 调整
- ========vc6.0调试技巧[原创]========
- 在VC6中如何使用COM+,能举个例子吗?谢谢!
- 使用UDP进行大文件传输中,丢包重传的问题怎么解决呢?
- MDI框架创建新文档时,是在什么函数里面创建子框架窗口和view的?
- 开发第二代产品
- 求职宝典
- 如何在一基于Dialog类的类中调用Document指针?
- WTL 消息反射 问题
- 在SDI工程中的两个窗口响应消息的问题!
- 大家帮我测试一下,为啥在有的机器上所有的哲学家都吃饭了(线程都运行了),有的机器上有的哲学家不吃饭(有的线程没运行),why ?
if (x3 > min(x1, x2) && x3 < max(x1, x2) && y3 > min(y1, y2) && y3 < max(y1, y2) && (y2 - y1)/(float)(x2 - x1) == (y3 - y1)/(float)(x3 - x1))
{
}另外,需要注意一下,防止除数为零。
如果想减少斜率的计算次数,可以在线条对象中保存该线条的斜率。
bool BLine::IsPtOnLineExt(double tX, double tY)const
{
BSlope slope = GetSlope(); if (slope.IsValid()) //判断斜率是否存在
{
return (tY - m_bPtBeg.y) == (slope.GetSlope() * (tX - m_bPtBeg.x));
}
else
{
return tX == m_bPtBeg.x;
}
}