Reading this thread and while I was thinking of what he ment, I got to thinking... how exactly could you make your application skinnable?

I was thinking of giving buttons, and other things images to load instead of the normal, put the iamges into 1 folder and consider it a style, then have a drop down box that would select from the different folders and load the styles... but then that isn't nearly the same as any other application does skinning..

So how exactly do they do that with skins?