Re: BitBlting on a printer hdc
Actually its probably due to the printer DC not supporting BitBlt.
In MFC you see this where it works for print preview (A screen DC support BitBlt) and not for the rendered output (the printer DC does not support bitBlt).
If you write your code to make use of StretchDIBits() you should find that this function works for all DCs.
Please use meaningful question titles - "Help me" does not let me know whether I can help with your question, and I am unlikely to bother reading it.
Please remember to rate useful answers. It lets us know when a question has been answered.