; German forum: ; Author: ; Date: 22. March 2003 ; temp.bmp muss durch vollständigen Pfad zum Bild ersetzt werden... Procedure PaintMapfile() Filename$ = "temp.bmp" Filehandle = OpenFile_(Filename$,OfStruct.OFSTRUCT,#OF_READWRITE) ;Mit CreateFileMapping ein Map-Handle ermitteln MapHandle = CreateFileMapping_(FileHandle,0,#PAGE_READWRITE,0,0,0) ;Mit MapViewOfFile ein File-Mapping-Object anlegen bdata= MapViewOfFile_(MapHandle,#FILE_MAP_ALL_ACCESS,0,0,0) ;Pointer fuer Bitmapdaten OfBits = PeekL(bdata+10);Hier beginnen die Bilddaten BmpWidth = PeekL(bdata+18);Bildbreite BmpHeight = PeekL(bdata+22);Bildhoehe BitsPixel = PeekL(bdata+28);Farbtiefe DataPointer = bData + 14;Start - Bilddaten PixelStartPointer = bData + OfBits;Start - Pixeldaten ;aus dem gemappten File auf den Bildschirm Bdc = StartDrawing(WindowOutput()) StretchDIBits_(BDC,0,0,BmpWidth,BmpHeight,0,0,BmpWidth,BmpHeight,PixelStartPointer,DataPointer,#DIB_RGB_COLORS,#SRCCOPY) StopDrawing() UnmapViewOfFile_(bdata) CloseHandle_(FileHandle) CloseHandle_(MapHandle) EndProcedure If OpenWindow(0, 0, 0, 768, 520, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window") PaintMapfile() Repeat EventID.l = WaitWindowEvent() If EventID = #PB_Event_CloseWindow ; If the user has pressed on the close button Quit = 1 EndIf Until Quit = 1 EndIf End ; ExecutableFormat=Windows ; FirstLine=1 ; EOF