//函数1:利用画矩形函数实现拖动实框
void DrawMoveRect(int xx1,int yy1,int xx2,int
yy2,int xy)
{
HDC hDC;
int oldrop2,m,k;
hDC = GetDC(NULL); //取得全屏幕设备描述句柄
oldrop2= GetROP2(hDC); //取得原来屏幕画图方式
SetROP2(hDC,R2_XORPEN); //设置异或屏幕画图方式
SelectObject(hDC,GetStockObject(NULL_BRUSH));//屏蔽画刷
SelectObject(hDC2,GetStockObject(WHITE_PEN));//选择画笔
for (k=0;k
xx1-=1;
xx2+=1;
yy1-=1;
yy2+=1;
Rectangle(hDC2,xx1,yy1,xx2,yy2);
}
SetROP2(hDC2,oldrop2); //恢复原来作图方式
ReleaseDC(NULL,hDC2); //释放设备描述符表
}
//函数2:利用画线函数实现拖动实框或虚框
void DrawMoveRect(int xx1,int yy1,int xx2,int
yy2,int xy)
{ HDC hDC2;
int oldrop2,m,k;
hDC = GetDC(NULL); //取得全屏幕设备描述句柄
oldrop2= GetROP2(hDC); //取得原来屏幕画图方式
SetROP2(hDC,R2_XORPEN); //设置异或屏幕画图方式
SelectObject(hDC,GetStockObject(NULL_BRUSH));//屏蔽画刷
SelectObject(hDC2,GetStockObject(WHITE_PEN));//选择画笔
for (k=0;k
xx1-=1;
xx2+=1;
yy1-=1;
yy2+=1;
MoveTo(hDC2,xx1,yy1);
LineTo(hDC2,xx2,yy1);
MoveTo(hDC2,xx1,yy1);
LineTo(hDC2,xx2,yy1);
}
SetROP2(hDC2,oldrop2); //恢复原来作图方式
ReleaseDC(NULL,hDC2); //释放设备描述符表
}
//函数3:利用画点函数实现不同图案的拖动虚框
void DrawMoveRect(int xx1,int yy1,int xx2,int
yy2,int xy)
{ HDC hDC2;
int oldrop2,I,j,x1,x2,y1,y2;
hDC = GetDC(NULL); //取得全屏幕设备描述句柄
oldrop2= GetROP2(hDC); //取得原来屏幕画图方式
SetROP2(hDC,R2_XORPEN); //设置异或屏幕画图方式
SelectObject(hDC,GetStockObject(NULL_BRUSH));//屏蔽画刷
SelectObject(hDC2,GetStockObject(WHITE_PEN));//选择画笔
for (j=0;j
x1=xx1-j; //带注释部分为另一图案
x2=xx2+j;
y1=yy1-j;
y2=yy2+j;
for (I=x1;I
SetPixel(hdc,I,y1,RGB(255,0,0));
//if (I
for (I=y1;I
SetPixel(hdc,x2,I,RGB(255,0,0));
//if (I
for (I=x2;I>x1;I-=2)
SetPixel(hdc,I,y2,RGB(255,0,0));
//if (I>x1+2) SetPixel(hdc,I-1,y2-1,RGB(255,0,0));}
for (I=y2;I>y1;I-=2)
SetPixel(hdc,x1,I,RGB(255,0,0));
//if (I>y1+2) SetPixel(hdc,x1+1,I-1,RGB(255,0,0));}
}
SetROP2(hDC2,oldrop2); //恢复原来作图方式
ReleaseDC(NULL,hDC2); //释放设备描述符表
}
|