acedGrRead函数的定义形式为:
int acedGrRead(int track,int * type,struct resbuf * result);
第一个参数:track:控制位;第二个参数:type:返回输入设备及其种类;第三个参数:result:从用户获得
返回拖动的坐标:track为Bit 0(1):当用户移动鼠标或其它顶点设备时, type 设置为 5,result 设置为(X,Y)坐标。
返回所有的关键值:track为Bit 1(2) :包括函数和光标的所有代码。
控制光标的显示:Bit 2(4) :type为0,显示一般的十字丝;type为1,不显示光标或十字丝;type为2,显示选择实体的小方框。
不显示错误:Bit 3 (8) :当用户按下 Ctrl+C 快捷键的时候,控制台暂停消息。
具体用法如例:
int track = 1, type; // 控制位和输入设备类型
struct resbuf result; // 保存鼠标拖动时的动态坐标
while (track > 0)
{
acedGrRead(track, &type, &result); // 追踪光标移动
ptText[X] = result.resval.rpoint[X]; // 获得用户输入点的位置
ptText[Y] = result.resval.rpoint[Y];
// 使用获得的坐标
{
……
}
if (type == 3) // 如果用户按下