In Icz's Tutorials, there is a program to show a bmp file. How can i accomplish this without using the resource file. By that i mean, how can i tell the program to show a bmp in a certian directory? I am trying to keep the size of the program to a minimum. If the bmp file isn't defined, then it can only grow in size right? So instead of having a 50+kb program to show Bugs Bunny & Tweety. I can have a 5kb program that just needs to be told where to locate the file to show...right? Does that make any sense? How can this be done?
Thanks,
Nokturnal
What follows is some code similar to what you're doing, except it uses that dang resource file.
However, it opens the bitmap as binary data (IE, not thru LoadBitmap); essentially it duplicates the LoadBitmap function in asm code.
Just change the pointer to say a mem mapped bitmap file and this should work the same.
invoke FindResource,hInstance, IDM_BITMAP_, RT_RCDATA
invoke LoadResource, hInstance, eax ; get handle to resource
invoke LockResource, eax
mov pSource, eax ; change THIS to point to your mem mapped file
; get the bitmap to memory
mov eax, pSource ; use pDest with decompression
mov pBitmapFileHeader, eax
xor edx, edx
mov dx,
cmp dx, 4D42H ; 'BM' in hex
jne BadFile
mov edx, pBitmapFileHeader
add eax, (BITMAPFILEHEADER PTR ).bfOffBits
mov pBitmapData, eax
mov eax, pBitmapFileHeader
add eax, SIZEOF BITMAPFILEHEADER
mov pBitmapInfoHeader, eax
mov edx, pBitmapInfoHeader
mov eax, (BITMAPINFOHEADER PTR ).biWidth
mov nWidth, eax
mov eax, (BITMAPINFOHEADER PTR ).biHeight
mov nHeight, eax
invoke GetDC, hIDM_picture
mov hDCtemp, eax
invoke CreateCompatibleDC, hDCtemp
mov hDC, eax
invoke CreateDIBitmap, hDCtemp, pBitmapInfoHeader, CBM_INIT, pBitmapData,
pBitmapInfoHeader, DIB_RGB_COLORS
mov hBitmap, eax
invoke SendMessage, hIDM_picture,STM_SETIMAGE,IMAGE_BITMAP, hBitmap
Thanks Ernie,
you just answered my question which I rised a few weeks earlier.
Thanks again.
What Nokturnal is asking is probably to use LoadImage instead
of using LoadBitmap.
LoadBitmap loads from the resource.
LoadImage loads from a bitmap.BMP file sitting in the directory.
forge