// ============< (messagePIC) von WndProcPIC >=====================
case WM_PAINT: // Fenster neu aufbauen
// ================================================================
SetCursor(LoadCursor(NULL, IDC_WAIT));
hdcPIC = BeginPaint (hwndPIC, &psPIC) ;
//--------------------------
// PIC-Datei anzeigen
//--------------------------
lpAnfBmpPic = HoleAnfBmpPic (lpPuBmpPIC) ; // Anfang der Bild-Daten in BMP-Puffer
SetStretchBltMode (hdcPIC, STRETCH_HALFTONE) ; // Streckmodus
// ------------------------------------------------------------------------
// Fensteroptimal
// ------------------------------------------------------------------------
fFaktorX = (float) wXmaxFePIC / (float) wBmpBreite ;
fFaktorY = (float) wYmaxFePIC / (float) wBmpHoehe;
if ( fFaktorX < fFaktorY )
{
wFenBreiX = (WORD) (fFaktorX * (float) wBmpBreite) -10 ;
wFenHoehY = (WORD) (fFaktorX * (float) wBmpHoehe ) ;
}
else
{
wFenBreiX = (WORD) (fFaktorY * (float) wBmpBreite) ;
wFenHoehY = (WORD) (fFaktorY * (float) wBmpHoehe ) -10 ;
}
wFenLiObX = (wXmaxFePIC - wFenBreiX ) >> 1 ;
wFenLiObY = (wYmaxFePIC - wFenHoehY ) >> 1 ;
StretchDIBits ( hdcPIC, // DIB-Quelle in ZIEL-Fenster angepaßt
wFenLiObX, // X-Ursprung-Fenster
wFenLiObY, // Y-Ursprung-Fenster
wFenBreiX, // Fenster-Breite
wFenHoehY, // Fenster-Höhe
0, // X-Ursprung-BMP
0, // Y-Ursprung-BMP
wBmpBreite, // X-Breite BMP
wBmpHoehe, // Y-Höhe BMP
(LPSTR) lpAnfBmpPic, // Anf Bild-Daten in BMP-Pu
(LPBITMAPINFO) lpPuBmpPIC, // BITMAPINFOHEADER
DIB_RGB_COLORS, // Die Farb-Tab enthält
RGB-Werte
SRCCOPY ) ; // Operation: Quelle => Ziel kopieren
EndPaint (hwndPIC, &psPIC) ;
SetCursor (LoadCursor (NULL, IDC_ARROW)) ; // Pfeil-Cursor
return 0 ;