HANDLE ChargerBitmap(char *FileName,POINT *lppt) { HFILE hFile; OFSTRUCT ofstruct; HANDLE result; LPSTR lpDIBHdr; unsigned int size; size = Getfilesize(FileName); hFile=OpenFile((LPSTR) FileName, &ofstruct, OF_READ | OF_SHARE_DENY_WRITE); result = ReadDIBFile(hFile,size); if (hFile) _lclose(hFile); if (result) { LPBITMAPINFOHEADER lpbmi; LPBITMAPCOREHEADER lpbmc; lpDIBHdr = GlobalLock (result); lpbmi = (LPBITMAPINFOHEADER) lpDIBHdr; lpbmc = (LPBITMAPCOREHEADER) lpDIBHdr; if (lpbmi->biSize == sizeof (BITMAPINFOHEADER)) { lppt->y = lpbmi->biHeight; lppt->x = lpbmi->biWidth; } else { lppt->y = lpbmc->bcHeight; lppt->x = lpbmc->bcWidth; } GlobalUnlock(result); } return(result); }
HDIB LoadDIB(const char* lpFileName) { HDIB hDIB; HANDLE hFile; // Set the cursor to a hourglass, in case the loading operation // takes more than a sec, the user will know what's going on. SetCursor(LoadCursor(NULL, IDC_WAIT)); if ((hFile = CreateFile(lpFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL)) != INVALID_HANDLE_VALUE) { hDIB = ReadDIBFile(hFile); CloseHandle(hFile); SetCursor(LoadCursor(NULL, IDC_ARROW)); return hDIB; } else { showerrorbox("File not found"); SetCursor(LoadCursor(NULL, IDC_ARROW)); return NULL; } }
HDIB FAR LoadDIB(LPSTR lpFileName) { HDIB hDIB; int hFile; OFSTRUCT ofs; /* * Set the cursor to a hourglass, in case the loading operation * takes more than a sec, the user will know what's going on. */ SetCursor(LoadCursor(NULL, IDC_WAIT)); if ((hFile = OpenFile(lpFileName, &ofs, OF_READ)) != -1) { hDIB = ReadDIBFile(hFile); _lclose(hFile); SetCursor(LoadCursor(NULL, IDC_ARROW)); return hDIB; } else { DIBError(ERR_FILENOTFOUND); SetCursor(LoadCursor(NULL, IDC_ARROW)); return NULL; } }