Войти

Показать полную графическую версию : Загрузка скина


ddv122
28-03-2012, 14:27
void __fastcall TFace::ComboBox1Change(TObject *Sender)
{
switch(ComboBox1->ItemIndex) {
case 0: // стандартный
Form1->Image3->Hide();
break;
case 1: // скин-1
Form1->Image3->Show();
Form1->Image3->Picture->LoadFromFile(ExtractFilePath(Application->ExeName) + "skin.jpg");
break;
case 2: // скин-2
Form1->Image3->Show();
Form1->Image3->Picture->LoadFromFile(ExtractFilePath(Application->ExeName) + "skin2.jpg");
break;
}
}
Я так загружаю скины в свою программу)
Нужно что бы при наличие файлов skinX.jpg
Добавлялся бы текст в ComboBox - СкинX
и код
Код C++1
2
3
4 case X: // скин-X
Form1->Image3->Show();
Form1->Image3->Picture->LoadFromFile(ExtractFilePath(Application->ExeName) + "skinX.jpg");
break;

Где X - номер файла в папке skin(X).jpg

Drongo
13-06-2012, 14:10
ddv122, я так делаю.

В .h файле прописываем
...
private: // User declarations
void __fastcall RefreshList(); // Функция по обновлению списка
UnicodeString myfp; // Переменная, хранящая имя выбранного файла
...
Код для .cpp
// Инициализация-------------------------------------------------------------
void __fastcall TForm2::FormCreate(TObject *Sender)
{
// Настраиваемый список выбора, если его не существует
// Перейти в режим создания шаблонов.
myfp = ExtractFilePath(Application->ExeName) + "Template\\";
RefreshList();
}
// Вызов обновления списка в комбо-------------------------------------------
void __fastcall TForm2::RefreshList()
{
struct ffblk ff;
ComboBox1->Clear();
int iN = findfirst((myfp + "*.jpg").t_str(), &ff, FA_ARCH);//"*.log"
for( ; !iN; iN = findnext(&ff))
ComboBox1->Items->Append(ff.ff_name);
}
// Выбор рекомендаций--------------------------------------------------------
void __fastcall TForm2::ComboBox1Select(TObject *Sender)
{
RichEdit1->Lines->LoadFromFile(myfp + ComboBox1->Text);
}




© OSzone.net 2001-2012