if(IsInArea(point))
{
//说明此时就在触点Input_1,用全局变量put记录下来
put=Input_1;
//如果当前点在,则要保存触点中心点
circlepoint=centerpoint;
return TRUE;
}
else
{
//如果移出触点,肯定不要再保存中心点
return FALSE;
}
首先,调用函数GetCirclePoint()来取得当前触点的中心点。然后调用IsInArea(point)函数来判断当前点point是否在以当前触点中心点为中心的矩形区域内。如果是,则用一个全局枚举变量put来记录来前触点是两个输入端和一个输出端中哪一个。
我们看这个枚举类型:
enum Myput
{
Input_1,
Input_2,
Output_1
};
接下来用一个全局变量circlepoint来记录当前触点中心点。再返回真。
如果当前点不在以当前触点中心点为中心的矩形区域内,则返回假。这时千万不能记录当前触点中心点。这点不注意会出大错。
判断当前触点是否已连接函数:IsPutLinked()
BOOL CMyView::IsPutLinked()
{
switch(put)
{
case Input_1:
if(pNodeNow->input1 !=0)
return TRUE;
break;
case Input_2:
if(pNodeNow->input2 !=0)
return TRUE;
break;
case Output_1:
if(pNodeNow->output1 !=0)
return TRUE;
}
return FALSE;
}
这里根据全局变量put的类型和全局变量pNodeNow所指向的元件,
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页