All the necessary information is in the example. I stupidly thought that you'd understand how it worked, particularly if you are capable of writing an mp3 player. A foolish assumption on my behalf. OK, here's an explanation.
1) The example provided, whilst used in this particular case to save and reload pictures, is actually a routine that allows you to save and reload any single or multiple ActiveX object(s). Therefore the name of the file used to store the items is basically irrelevant. I happened to have called it "multipics.mpc" in the example because I was tailoring it to your stated requirements. It could just have easily called "ElvisHasLeftTheBuild.ing"
2) Saving. The technique makes use of the PropertyBag object. The official use of these is for persisting objects between seperate invocations of those objects - but we cheat. We save one or more properties to the PropertyBag. In the examples case those properties just 'happen' to be picture objects. Now - and this is where we cheat a bit - having got them into the propertybag as seperate, named properties (e.g FormSkin, Button1Up, Button1Down, Button2Up, Button2Down, etc. would work as names for you, hence the names I used in the actual example), we can now extract the entire contents of the bag into a single variant. We can then use normal binary file handling techniques to save that variant to a file (whatever it's name might be).
3) Loading. Now we just need to reverse the saving process. There's one tiny caveat, which is that we can only set the contents of a propertybag from a byte array. So we use normal file handling techniques to open the file we earlier saved, and read the variant (which is really just a binary representation of all the objects). This is then converted into a byte array, and is used to load the contents of an empty propertybag. We can then retrieve the previously stored objects by the same names we saved them to the propertybag in phase 2.