PAINT.C
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 static void PaintBackground(HWND hDlg){
00027 int x;
00028 int y;
00029 HDC hDC;
00030 HPALETTE hpalT;
00031 HBRUSH hOldBrush;
00032 RECT rc1,rc2;
00033 HDC hMemDC;
00034 HBITMAP hBmBackground,hbmOld;
00035 BITMAP bm;
00036 PAINTSTRUCT ps;
00037 hDC = BeginPaint(hDlg,&ps);
00038 hBmBackground=LoadBitmap(hDLLinstance,"screen");
00039 if(hBmBackground != NULL){
00040 GetObject(hBmBackground,sizeof(BITMAP),&bm);
00041 hMemDC = CreateCompatibleDC(hDC);
00042 hbmOld = SelectObject(hMemDC,hBmBackground);
00043 GetClientRect(hDlg,&rc2);
00044 for(x=0;x<(rc2.right/bm.bmWidth)+1;x++)
00045 for(y=0;y<(rc2.bottom/bm.bmHeight)+1;y++)
00046 BitBlt(hDC,
00047 x*bm.bmWidth,y*bm.bmHeight,
00048 bm.bmWidth,
00049 bm.bmHeight,
00050 hMemDC,
00051 0,0,
00052 SRCCOPY);
00053 SelectObject(hMemDC,hbmOld);
00054 DeleteDC(hMemDC);
00055 DeleteObject(hBmBackground);
00056 }
00057 EndPaint(hDlg,&ps);
00058 }
00059
00060 #if 0
00061 case WM_ERASEBKGND:{
00062 int x;
00063 int y;
00064 HDC hDC;
00065 HPALETTE hpalT;
00066 HBRUSH hOldBrush;
00067 RECT rc1,rc2;
00068 HDC hMemDC;
00069 HBITMAP hBmBackground,hbmOld;
00070 BITMAP bm;
00071 hDC = (HDC)wparam;
00072 hBmBackground=LoadBitmap(hDLLinstance,"screen");
00073 GetObject(hBmBackground,sizeof(BITMAP),&bm);
00074 hMemDC = CreateCompatibleDC(hDC);
00075 hbmOld = SelectObject(hMemDC,hBmBackground);
00076 GetClientRect(hwnd,&rc2);
00077 for(x=0;x<(rc2.right/bm.bmWidth)+1;x++)
00078 for(y=0;y<(rc2.bottom/bm.bmHeight)+1;y++)
00079 BitBlt(hDC,
00080 x*bm.bmWidth,y*bm.bmHeight,
00081 bm.bmWidth,
00082 bm.bmHeight,
00083 hMemDC,
00084 0,0,
00085 SRCCOPY);
00086 SelectObject(hMemDC,hbmOld);
00087 DeleteDC(hMemDC);
00088 if(hBmBackground != NULL)DeleteObject(hBmBackground);
00089 }
00090 return TRUE;
00091 #endif