Extending CPictureHolder for loading BMP, JPG, etc. Fairbanks AK

This class extends the MFC CPictureHolder class to include better support for enhanced metafiles, access to picture handles, loading from files, and other capabilities.

Local Companies

Resource Data Inc
(907) 452-7341
1900 Phillips Field Rd
Fairbanks, AK
Interior Technologies
(907) 452-8444
Fairbanks, AK
Krazee Zeeks Llc
(907) 458-0378
Fairbanks, AK
Educational Management Associates Inc
(907) 745-7350
Palmer, AK
Alaska Internet Solutions
(907) 745-5389
Palmer, AK
Nebel Stephen E
(907) 479-7671
174 Berkeley Ct
Fairbanks, AK
Larry's Welding & Fabrication
(907) 474-0978
PO Box 72348
Fairbanks, AK
Nebel Business Computing
(907) 479-7671
174 Berkeley Ct
Fairbanks, AK
Computing Alternative Inc
(907) 523-0807
175 S Franklin St
Juneau, AK
Data Systems Design
(907) 376-6092
Wasilla, AK

provided by: 
Originally published at Internet.com


Environment: VC6 (earlier probably ok too), Win2K/95/98

This class extends the MFC CPictureHolder class to include




Simply include the .h and .cpp into your project and use it as you would CPictureHolder.

You can also use this instead of the CBitmap class (but with code changes, of course).

And remember that CPictureHolder has a Render method to draw pictures, and it support transparency for GIF's etc.

I built this with various versions of VC6. I don't see why it wouldn't work on other recent versions.

NOTE 1: I would usually have made many of these member functions const. However, CPictureHolder doesn't use any consts, and so I would have to have done lots of (potentially unsafe) const casts in my code.

NOTE 2: Chensu says that OldLoadPicture/IPicture has problems with palettes. I haven't looked at his code yet, but if so, I will (with his permission) update this code to include whatever fixes he added to better support palettes

NOTE 3: I haven't included support for icons in here. It would be trivial to add so I'll leave it as an excercise for the reader :-) ...

Read article at Internet.com site

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML