📄 editmark.cpp
字号:
Base->Draw_dzhz16(MapClientDC,wx[2*5-1]+12.0,wy[2*5]-5.0,cc[5],0);
Base->Draw_dzhz16(MapMemoryDC,wx[2*5-1]+12.0,wy[2*5]-5.0,cc[5],0);
}
start_time=GetTickCount();
for(;;)
{ end_time=GetTickCount();
if(end_time-start_time>=60) break;
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{ switch(msg.message)
{ default:
DispatchMessage(&msg);
break;
}
}
}
if(num>=2)
Show_Mark(MapClientDC,flag,num-1,typee,filll,nn,xx,yy,
0.0,0.0,1.0,0.0, 17, 1);
Base->Setfcolor(MapClientDC,13); // 画原点
Base->w_fillrectangle(MapClientDC,(float)(ix-2),(float)(iy-2),
(float)(ix+2),(float)(iy+2));
}
if(code0==4)
{ itoa(flag,Textcode,10);
i=Dialog_Input_Code();
if(i==0)
{ flag=atoi(Textcode);
if(flag==1) strcpy(cc[4],"直 立");
if(flag==0) strcpy(cc[4],"旋 转");
Draw_Key(Base,MapClientDC,wx[2*4-1],wy[2*4-1],wx[2*4],wy[2*4],7,10,8);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[2*4-1],wy[2*4-1],wx[2*4],wy[2*4]);
Draw_Key(Base,MapMemoryDC,wx[2*4-1],wy[2*4-1],wx[2*4],wy[2*4],7,10,8);
Base->Setfcolor(MapMemoryDC,0);
Base->w_rectangle(MapMemoryDC,wx[2*4-1],wy[2*4-1],wx[2*4],wy[2*4]);
Base->Draw_dzhz16(MapClientDC,wx[2*4-1]+12.0,wy[2*4]-5.0,cc[4],0);
Base->Draw_dzhz16(MapMemoryDC,wx[2*5-1]+12.0,wy[2*5]-5.0,cc[5],0);
}
start_time=GetTickCount();
for(;;)
{ end_time=GetTickCount();
if(end_time-start_time>=60) break;
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{ switch(msg.message)
{ default:
DispatchMessage(&msg);
break;
}
}
}
if(num>=2)
Show_Mark(MapClientDC,flag,num-1,typee,filll,nn,xx,yy,
0.0,0.0,1.0,0.0, 17, 1);
Base->Setfcolor(MapClientDC,13); // 画原点
Base->w_fillrectangle(MapClientDC,(float)(ix-2),(float)(iy-2),
(float)(ix+2),(float)(iy+2));
}
if(code0==8)
{ if(num>=2)
{ dx=Scroller->XPos;
dy=Scroller->YPos;
MapClientDC->BitBlt(-dx,-dy,MapWidth,MapHeight,*MapMemoryDC, 0, 0, SRCCOPY);
Base->Setfcolor(MapClientDC,1);
Base->w_fillrectangle(MapClientDC,wx[19]-2,wy[19]-2,wx[20]+2,wy[20]+2);
Base->Setfcolor(MapMemoryDC,1);
Base->w_fillrectangle(MapMemoryDC,wx[19]-2,wy[19]-2,wx[20]+2,wy[20]+2);
Base->Setfcolor(MapClientDC,8);
Base->w_fillrectangle(MapClientDC,wx[19],wy[19],wx[20],wy[20]);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[19],wy[19],wx[20],wy[20]);
Base->Setfcolor(MapMemoryDC,8);
Base->w_fillrectangle(MapMemoryDC,wx[19],wy[19],wx[20],wy[20]);
Base->Setfcolor(MapMemoryDC,0);
Base->w_rectangle(MapMemoryDC,wx[19],wy[19],wx[20],wy[20]);
num=num-1;
if(num>=2)
{ // 在小窗口中显示
for(j=0;j<num-1;j++)
{ for(i=0;i<nn[j];i++)
{ xx[j][i]=xx[j][i]-x01;
yy[j][i]=yy[j][i]-y01;
}
}
Show_Mark(MapClientDC,flag,num-1,typee,filll,nn,xx,yy,
wx[19],wy[19],t,0.0, 17, 1);
Show_Mark(MapMemoryDC,flag,num-1,typee,filll,nn,xx,yy,
wx[19],wy[19],t,0.0, 17, 1);
for(j=0;j<num-1;j++)
{ for(i=0;i<nn[j];i++)
{ xx[j][i]=xx[j][i]+x01;
yy[j][i]=yy[j][i]+y01;
}
}
Show_Mark(MapClientDC,flag,num-1,typee,filll,nn,xx,yy,
0.0,0.0,1.0,0.0, 17, 1);
}
Base->Setfcolor(MapClientDC,13); // 画原点
Base->w_fillrectangle(MapClientDC,(float)(ix-2),(float)(iy-2),
(float)(ix+2),(float)(iy+2));
}
}
if(code0==6)
{ Draw_Key(Base,MapClientDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6],10,7,8);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6]);
Draw_Key(Base,MapMemoryDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6],10,7,8);
Base->Setfcolor(MapMemoryDC,0);
Base->w_rectangle(MapMemoryDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6]);
Base->Draw_dzhz16(MapClientDC,wx[2*6-1]+12.0,wy[2*6]-5.0,cc[6],0);
Base->Draw_dzhz16(MapMemoryDC,wx[2*6-1]+12.0,wy[2*6]-5.0,cc[6],0);
for(;;)
{ if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{ if(msg.hwnd!=hWnd0)
{ DispatchMessage(&msg);
goto M3;
}
switch(msg.message)
{ case WM_RBUTTONDOWN:
goto M4;
break;
case WM_LBUTTONDOWN:
dx=Scroller->XPos;
dy=Scroller->YPos;
MapClientDC->BitBlt(-dx,-dy,MapWidth,MapHeight,*MapMemoryDC, 0, 0, SRCCOPY);
if(num>=2)
Show_Mark(MapClientDC,flag,num-1,typee,filll,nn,xx,yy,
0.0,0.0,1.0,0.0, 17, 1);
dx=LOWORD(msg.lParam);dy=AUey-HIWORD(msg.lParam);
if((float)dx>=x01&&(float)dx<=x02 && (float)dy>=y01&&(float)dy<=y02)
{ ix=dx;iy=dy;
}
Base->Setfcolor(MapClientDC,13); // 画原点
Base->w_fillrectangle(MapClientDC,(float)(ix-2),(float)(iy-2),
(float)(ix+2),(float)(iy+2));
break;
}
}
M3: ;
}
M4: ;
Draw_Key(Base,MapClientDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6],7,10,8);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6]);
Draw_Key(Base,MapMemoryDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6],7,10,8);
Base->Setfcolor(MapMemoryDC,0);
Base->w_rectangle(MapMemoryDC,wx[2*6-1],wy[2*6-1],wx[2*6],wy[2*6]);
Base->Draw_dzhz16(MapClientDC,wx[2*6-1]+12.0,wy[2*6]-5.0,cc[6],0);
Base->Draw_dzhz16(MapMemoryDC,wx[2*6-1]+12.0,wy[2*6]-5.0,cc[6],0);
}
// 编辑图元
if(code0==9)
{ Draw_Key(Base,MapClientDC,wx[2*9-1],wy[2*9-1],wx[2*9],wy[2*9],10,7,-8);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[2*9-1],wy[2*9-1],wx[2*9],wy[2*9]);
i=Edit_Line(xt,yt,1,&nt);
if(i==-1) goto M5;
if(nt>=20)
{ if(type==4) nt=19;
else nt=20;
}
for(i=1;i<=nt;i++)
{ x[i-1]=xt[i]+Window0_x1-Show0_x1;
y[i-1]=yt[i]+Window0_y1-Show0_y1;
}
n=nt;
if(type==3&&n<3) goto M5;
if(type==4)
{ if(n<3) goto M5;
if(x[0]!=x[n-1] || y[0]!=y[n-1])
{ n=n+1;x[n-1]=x[0];y[n-1]=y[0];
}
}
if(type==6&&n<3) goto M5;
if(type==7&&n<3) goto M5;
switch(type)
{ case 3: n=3;break;
case 5: n=2;break;
case 6: n=3;break;
case 7: n=3;break;
}
nn[num-1]=n;
for(i=0;i<n;i++)
{ xx[num-1][i]=x[i];
yy[num-1][i]=y[i];
}
typee[num-1]=type;
filll[num-1]=fill;
for(j=0;j<num;j++)
{ for(i=0;i<nn[j];i++)
{ xx[j][i]=xx[j][i]-x01;
yy[j][i]=yy[j][i]-y01;
}
}
// 在小窗口中显示
Show_Mark(MapClientDC,flag,num,typee,filll,nn,xx,yy,
wx[19],wy[19],t,0.0, 17, 1);
Show_Mark(MapMemoryDC,flag,num,typee,filll,nn,xx,yy,
wx[19],wy[19],t,0.0, 17, 1);
for(j=0;j<num;j++)
{ for(i=0;i<nn[j];i++)
{ xx[j][i]=xx[j][i]+x01;
yy[j][i]=yy[j][i]+y01;
}
}
Show_Mark(MapClientDC,flag,num,typee,filll,nn,xx,yy,
0.0,0.0,1.0,0.0, 17, 1);
Base->Setfcolor(MapClientDC,13); // 画原点
Base->w_fillrectangle(MapClientDC,(float)(ix-2),(float)(iy-2),
(float)(ix+2),(float)(iy+2));
num=num+1;
M5: ;
Draw_Key(Base,MapClientDC,wx[2*9-1],wy[2*9-1],wx[2*9],wy[2*9],7,10,-8);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,wx[2*9-1],wy[2*9-1],wx[2*9],wy[2*9]);
}
goto M10;
break;
default:
DispatchMessage(&msg);
break;
}
}
}
M10: ;
break;
default:
DispatchMessage(&msg);
break;
}
}
M18: ;
}
M200: ;
num=num-1;
if(num>=1)
{ fp=fopen(".\\hzlib\\sllib.dat","ab");
fwrite(&code,sizeof(code),1,fp);
fwrite(&flag,sizeof(flag),1,fp);
fwrite(&ix,sizeof(ix),1,fp);
fwrite(&iy,sizeof(iy),1,fp);
fwrite(&num,sizeof(num),1,fp);
fwrite(typee,sizeof(typee),1,fp);
fwrite(filll,sizeof(filll),1,fp);
fwrite(nn,sizeof(nn),1,fp);
for(i=0;i<20;i++)
{ for(j=0;j<20;j++)
{ x[j]=xx[i][j];
y[j]=yy[i][j];
}
fwrite(x,sizeof(x),1,fp);
fwrite(y,sizeof(y),1,fp);
}
fclose(fp);
}
M300: ;
Pensize=pensize;
delete xx,yy;
SetCursor(NULL,IDC_WAIT); // 获取系统光标
w1=280;w2=70;
x1=(AUex-w1)/2.0;y1=(AUey-w2)/2.0;x2=x1+w1;y2=y1+w2;
Draw_Key(Base,MapClientDC,x1+1,y1+1,x2-1,y2-1,7,10,2);
Base->Setfcolor(MapClientDC,0);
Base->w_rectangle(MapClientDC,x1,y1,x2,y2);
Base->Draw_dzhz24(MapClientDC,x1+20,y2-22,"正在处理,请稍等!",1,0);
if(sf_edit==0) Set_Lib_Code();
strcpy(BmpName,".\\mid\\bk_gd$$.$11");
LoadBmp();
Mark_number=b_mark_number;
if( Mark_number>=1 ) Show_Mark_Lib(1,Mark_number,1,0,0);
SetCursor(NULL,IDC_ARROW); // 获取系统光标
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -