We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now


Save hDC to Bitmap

dnavarro asked
Medium Priority
Last Modified: 2013-12-03
I have a project that requires I save the contents of a Window to a .BMP file.  I have a handle to a "Compatible Bitmap", now I just need to save it to the .BMP format.

The constraints of the project will not let me use a third-party DLL or control, the program has to be delivered as a single .EXE file, therefore I need source code.

Can anyone point me to a reference in MSDN, the net, or a book which would give me this information.  Additionally, if you can recommend a low-cost (sub $50) shareware product which includes the source code in the registered version, that would be acceptable.
Watch Question

You can find the desired software from:
There are both shareware and commercial software.


Thanks, but I need source code, not a shareware application.  I have to add this functionality to an existing application.
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview

It think I gave you the wrong one


it more what you want.  (actually you should look at both.)


Thanks, this is exactly the answer I was looking for.  Thanks for pointing out CodeGuru to me.

Hey I wasn't pointing out CodeGuru!  Think of all the points I loose because of all the questions it answers!!!  :-)

Printing the visible content of a Window is actually easy, but what about printing the whole canvas including the hidden parts? What I did to accomplish that is to scroll around the window content. Anyone a better solution? BTW replace "printing" with "storing to a bitmap" and "print it on a printer" and "save it to a file" alternatively, since it's basically all the same.

Ciao, Mike

It sounds like you might need to redesign your display procedures a little.  They should be able to work with any specified DC.  If you specify a window DC they display to the screen, if you specify a printer DC they print to the printer, if you specify a memory DC the draw to a bitmap for disk storage etc.

nietod, I know this, it's sometimes referred as paint-subclassing, but it always draws the visible part of the client area only. WM_PRINT should do the job, but it desn't work for some of the common controls.

I didn't realize you had controls inside the client area.  I can't help there, I wrote all my own controls and they will draw to any specified DC, I'm not sure how to use the common ones in that way.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.