Place an image component on the form and place a *.jpg picture in it, this will be the default skin.
Place an OpenDialog on the form.
In the header of the *.cpp file place:
#include <vcl.h>
#include <string.h>
#include <alloc.h>
#include <jpeg.hpp>
#include <dir.h>
Under TForm1 *Form1 place:
char lpFilename[256];
char IniFile[256];
char *s;
char drive[MAXDRIVE];
char dir[MAXDIR];
char file1[MAXFILE];
char ext[MAXEXT];
char DefaultSkin[256];
In the FormCreate handler place:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
GetModuleFileName(NULL,lpFilename, sizeof(lpFilename));
s = lpFilename;
fnsplit(s,drive,dir,file1,ext);
sprintf(DefaultSkin, "%s%sdefaultskin.jpg", drive, dir);
sprintf(IniFile, "%s%s%s.INI", drive, dir, file1);
//get skin to use
char szGetSkin[256];
if(GetPrivateProfileString("SKIN", "1",
"", szGetSkin, sizeof(szGetSkin), IniFile) > 2)
{
Image1->Picture->LoadFromFiele(szGetSkin);
}
else
{
if(FileExists(DefaultSkin))
{
Image1->Picture->LoadFromFile(DefaultSkin);
}
}
}
//-------------------------------------------------------
In a Menu Item place this:
void __fastcall TForm1::GetSkinClick(TObject *Sender)
{
if(OpenDialog1->Execute())
{
Image1->Picture->SaveToFile(DefaultSkin);
Image1->Picture->LoadFromFiele(OpenDialog1->FileName);
WritePrivateProfileString("SKIN", "1", OpenDialog1->FileName.c_str(), IniFile);
}
}
//--------------------------------------------------------
In a Menu Item place this:
void __fastcall TForm1:

efaultSkinClick(TObject *Sender)
{
WritePrivateProfileString("SKIN", "1", "", IniFile);
Image1->Picture->LoadFromFile(DefaultSkin);
}