- •Оглавление
- •Численное решение итерационным методом
- •2D уравнения теплопроводности
- •Разработка фрагмента исходного кода для численного решения итерационным методом 2d уравнения теплопроводности
- •Интерфейс графических устройств gdi
- •Фрагмент функции void Child_Rgn_Zg_OnPaint(hwnd hwnd…)
- •Входящие программы
- •Список литературы
Фрагмент функции void Child_Rgn_Zg_OnPaint(hwnd hwnd…)
В рамках данной работы нас интересует функция void Child_Rgn_Zg_OnPaint(HWND hwnd…). Данная функция создает дочерние окна.
else if(wrd==1200)
{ PaintDC=BeginPaint(hwnd,&PaintStruct); /дескриптор
MemDC=CreateCompatibleDC(PaintDC); Choise_Palette(MemDC); RealizePalette(MemDC);
LemDC=CreateCompatibleDC(PaintDC); Choise_Palette(LemDC); RealizePalette(LemDC);
GetClientRect(hwnd,&Child_R); dGCRrightRastr=Child_R.right/MemModRastrTT; dGCRbottomRastr=Child_R.bottom/MemModRastrTT;
kfxRSG=xFineModel/(double)(Child_R.right-120);
kfyRSG=yFineModel/(double)(Child_R.bottom-60);
kfyRPG=(tagNWF8.fMaxTopoReal-tagNWF8.fMinTopoReal)/(double)(Child_R.bottom-60);
kfxIZM=(double)(Child_R.right-120)/(double)MemModRastrTT;
kfyIZM=(double)(Child_R.bottom-60)/(double)MemModRastrTT;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(lpshortTeploprovodnost0!=0)
{ if(FirstTeploprovodnostBmp==TRUE)
{ if(hBitmapRPG) { DeleteBitmap(hBitmapRPG); }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
hBitmapRPG=CreateCompatibleBitmap(PaintDC,xRPG,yRPG);
hTmpBmpRPG=(HBITMAP)SelectObject(LemDC,hBitmapRPG);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
FonBrush=CreateSolidBrush(RGB(0,0,0)); OldBrush=SelectBrush(LemDC,FonBrush);
Rectangle(LemDC,0,0,xRPG,yRPG); SelectBrush(LemDC,OldBrush); DeleteObject(FonBrush);
vp[0].x=0; vp[0].y=-1;
if(iNumOfColorPalette==65536)
{ for(i=0,j=0;j<yRPG;i+=256,j++)
{ SetPixel(LemDC,vp[0].x, vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+1,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+2,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+3,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+4,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+5,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+6,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+7,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+8,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+9,vp[0].y+yRPG-j,PALETTEINDEX(i));
}
}
else if(iNumOfColorPalette==2048)
{ for(i=0,j=0;j<yRPG;i+=8,j++)
{ SetPixel(LemDC,vp[0].x, vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+1,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+2,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+3,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+4,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+5,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+6,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+7,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+8,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+9,vp[0].y+yRPG-j,PALETTEINDEX(i));
}
}
else if(iNumOfColorPalette==256)
{ for(i=0,j=0;j<yRPG;i++,j++)
{ SetPixel(LemDC,vp[0].x, vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+1,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+2,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+3,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+4,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+5,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+6,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+7,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+8,vp[0].y+yRPG-j,PALETTEINDEX(i));
SetPixel(LemDC,vp[0].x+9,vp[0].y+yRPG-j,PALETTEINDEX(i));
}
}
else if(iNumOfColorPalette==128)
{ for(i=0,j=0;j<yRPG;i++,j++)
{ SetPixel(LemDC,vp[0].x, vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+1,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+2,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+3,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+4,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+5,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+6,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+7,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+8,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
SetPixel(LemDC,vp[0].x+9,vp[0].y+yRPG-j,PALETTEINDEX((int)(i/2)));
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(hBitmapTeploprovodnost) { DeleteBitmap(hBitmapTeploprovodnost); }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
hBitmapTeploprovodnost=CreateCompatibleBitmap(PaintDC,MemModRastrTT,MemModRastrTT);
hTmpBmpMF=(HBITMAP)SelectObject(MemDC,hBitmapTeploprovodnost);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
l=0;
for(j=0;j<MemModRastrTT;j++)
{ for(i=0;i<MemModRastrTT;i++)
{ niColor=(int)(AMPLIFING*lpshortTeploprovodnost1[l]); SetPixel(MemDC,i,j,PALETTEINDEX(niColor)); l++; }
}
l=0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
FirstTeploprovodnostBmp=FALSE;
wsprintf(szGlobalBuf0,"%s, x/x0=%ld, y/y0=%ld",szGlobalNWF0,Child_R.right/MemModRastrTT,Child_R.bottom/MemModRastrTT);
if(iniID.iCoordSurfaceNewMF==0) { StretchBlt(PaintDC,0,0,Child_R.right,Child_R.bottom,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY); }
else if(iniID.iCoordSurfaceNewMF==1)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-LM_RIGHT, 25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-LM_RIGHT, Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-LM_RIGHT+5,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=32) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,25, 30+k,20);
DrawLine(PaintDC,30+k,Child_R.bottom-25,30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=32) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,25, 30+k,20, 30+k);
DrawLine(PaintDC,Child_R.right-85,30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-45,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
else if(iniID.iCoordSurfaceNewMF==2)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-90,25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-90,Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-85,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=32) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,20, 30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=32) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,20, 30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-40,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
else if(iniID.iCoordSurfaceNewMF==3)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-90,25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-90,Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-85,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=64) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,20, 30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=64) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,20, 30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-40,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
}
else
{ wsprintf(szGlobalBuf0,"%s, x/x0=%ld, y/y0=%ld",szGlobalNWF0,Child_R.right/MemSurRastrCF,Child_R.bottom/MemSurRastrCF);
SelectObject(MemDC,hBitmapTeploprovodnost); SelectObject(LemDC,hBitmapRPG);
if(iniID.iCoordSurfaceNewMF==0) { StretchBlt(PaintDC,0,0,Child_R.right,Child_R.bottom,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY); }
else if(iniID.iCoordSurfaceNewMF==1)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-90,25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-90,Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-85,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=32) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,25, 30+k,20);
DrawLine(PaintDC,30+k,Child_R.bottom-25,30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=32) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,25, 30+k,20, 30+k);
DrawLine(PaintDC,Child_R.right-85,30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-40,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
else if(iniID.iCoordSurfaceNewMF==2)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-90,25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-90,Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-85,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=32) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,20, 30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=32) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,20, 30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-40,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
else if(iniID.iCoordSurfaceNewMF==3)
{ FonBrush=CreateSolidBrush(RGB(255,255,255));
OldBrush=SelectBrush(PaintDC,FonBrush);
Rectangle(PaintDC,0,0,Child_R.right,Child_R.bottom);
SelectBrush(PaintDC,OldBrush); DeleteObject(FonBrush);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
StretchBlt(PaintDC,Child_R.right-60,30,10, Child_R.bottom-60,LemDC,0,0,xRPG,yRPG,SRCCOPY);
StretchBlt(PaintDC,FR_LEFT,FR_TOP,Child_R.right-FR_L_R,Child_R.bottom-FR_T_B,MemDC,0,0,MemModRastrTT,MemModRastrTT,SRCCOPY);
NewPen=CreatePen(PS_INSIDEFRAME,1,RGB(0,0,255)); OldPen=SelectPen(PaintDC,NewPen);
hNewFont=CreateFontIndirect(&lf); hOldFont=(HFONT)SelectObject(PaintDC,hNewFont);
SetBkMode(PaintDC,TRANSPARENT); SetTextColor(PaintDC,RGB(0,0,255));
DrawLine(PaintDC,30, 25, Child_R.right-90,25);
DrawLine(PaintDC,25, 30, 25, Child_R.bottom-30);
DrawLine(PaintDC,30, Child_R.bottom-25,Child_R.right-90,Child_R.bottom-25);
DrawLine(PaintDC,Child_R.right-85,30, Child_R.right-85,Child_R.bottom-30);
DrawLine(PaintDC,Child_R.right-45,30, Child_R.right-45,Child_R.bottom-30);
for(k=0;k<=Child_R.right-FR_RIGHT;k+=64) // Scale for XX
{ xFiskaFine=(double)(xFineModel-(Child_R.right-FR_RIGHT-k)*kfxRSG)*iniID.idtdx*100.0; _gcvt(xFiskaFine,3,EndCozyavka);
DrawLine(PaintDC,30+k,20, 30+k,Child_R.bottom-20);
TextOut(PaintDC, 30+k,4, EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, 30+k,Child_R.bottom-19,EndCozyavka,lstrlen(EndCozyavka));
}
for(k=0;k<=Child_R.bottom-FR_BOTTOM;k+=64) // Scale for YY
{ yFiskaFine=(double)(yFineModel-(Child_R.bottom-FR_BOTTOM-k)*kfyRSG)*iniID.idtdy*100.0; _gcvt(yFiskaFine,3,EndCozyavka);
_gcvt(((double)(Child_R.bottom-FR_BOTTOM-k)*kfyRPG),3,EndPalette);
DrawLine(PaintDC,20, 30+k,Child_R.right-80,30+k);
DrawLine(PaintDC,Child_R.right-45,30+k,Child_R.right-40,30+k);
TextOut(PaintDC, 5, 30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-80,30+k,EndCozyavka,lstrlen(EndCozyavka));
TextOut(PaintDC, Child_R.right-40,30+k,EndPalette, lstrlen(EndPalette));
}
SelectPen(PaintDC,OldPen); DeleteObject(NewPen); SelectObject(PaintDC,hOldFont); DeleteObject(hNewFont);
}
}
}
else if(lpshortTeploprovodnost0==(double*)NULL)
{ ShowWindow(hCrtWndwTeploprovodnost,FALSE);
if(hCrtWndwTeploprovodnost!=NULL) { GetWindowRect(hCrtWndwTeploprovodnost,&iniID.WndwDlgTT); iniID.iWndwDlgTT=1; Zapis_Dannich_22(); DestroyWindow(hCrtWndwTeploprovodnost); }
}
SelectBitmap(MemDC,hTmpBmpMF); Delete_Palette(MemDC); DeleteDC(MemDC);
SelectBitmap(LemDC,hTmpBmpRPG); Delete_Palette(LemDC); DeleteDC(LemDC); EndPaint(hwnd,&PaintStruct);
}
}