in a large programme i'm making i've decided to display an image, but i don't want it be seen forever so i wondered if anybody knew how the deleting the image that is displayed from the code below.
Code:
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HANDLE hFile;
HDC hdc;
PAINTSTRUCT ps;
TEXTMETRIC tm;
SIZE size;
HFONT font;
static BITMAPFILEHEADER *pbmfh;
static BITMAPINFO *pbmi;
static BYTE *pBits;
static int cxDib, cyDib;
switch (message)
switch(message)
{
case WM_PAINT:
DWORD dwFileSize, dwHighSize, dwBytesRead;
hFile = CreateFile ("E:\\image.BMP", GENERIC_READ,
FILE_SHARE_READ, NULL,
OPEN_EXISTING,
FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
dwFileSize = GetFileSize (hFile, &dwHighSize);
pbmfh = (BITMAPFILEHEADER *) malloc (dwFileSize);
ReadFile (hFile, pbmfh, dwFileSize,
&dwBytesRead, NULL);
pbmi = (BITMAPINFO *) (pbmfh + 1);
pBits = (BYTE *) pbmfh + pbmfh->bfOffBits;
cxDib = pbmi->bmiHeader.biWidth;
cyDib = abs(pbmi->bmiHeader.biHeight);
HDC hdc;
hdc = GetDC (hwnd);
SetDIBitsToDevice (hdc,
0,
250,
cxDib,
cyDib,
0,
0,
0,
cyDib,
pBits,
pbmi,
DIB_RGB_COLORS);
ReleaseDC (hwnd, hdc);
free (pbmfh);
return 0;