вот как есть...
в rc
/*----------------------------
RMAP.RC resource script
----------------------------*/
//это для произвольных данных
blocks RMAP blocks.dmp //это бинарный файл со справочными данными, опред-ой
//cтруктуры
/*blocks - идентификатор (обзывай как хочешь name1 или name2 ...)
RMAP - тип ресурса*/ (тоже самое ...)
//для bmp
NameBmp1 BITMAP picture.bmp
в hpp
class PACKAGE TRMap : public TCustomGrid
{
public:
...
private:
/*Объявление статических членов-данных общих для всех экземпляров TRMap*/
static int LockCount; //счетчик созданных экземпляров класса
static HGLOBAL hResource; //описатель ресурса (справочные данные)
/*статик потому что ими пользуются много экз. класса при работе проги
загружаю в конструкторе если счетчик 0 (нет ни одного экз.)
выгружаю в деструкторе если это последний экз. класса*/
//для получения информации о ячейке...
TRecordCell* RC;
};
в cpp
int TRMap::LockCount = 0; //счетчик созданных экземпляров класса...
HGLOBAL TRMap::hResource = NULL; //описатель ресурса с данными...
//--------------------------Загрузка ресурса------------------------------//
if(LockCount == 0) {
hResource = LoadResource (HInstance, FindResource (HInstance, "blocks",
"RMAP"));
if(hResource)
LockCount++;
else
throw ("Ошибка...");
}
else
LockCount++;
}
//---------------------------------------------------------------------------
__fastcall TRMap::~TRMap()
{
LockCount--;
if(LockCount == 0)
FreeResource(hResource);
}
//---------------------------------------------------------------------------
использование...
//---------------------------------------------------------------------------
TRecordCell __fastcall TRMap::GetCellInfo(int ARow, int ACol)
{
//TODO: Add your source code here
RC = (TRecordCell *) LockResource (hResource);
return *(RC + FBlock*2600 + ACol + 52*ARow);
}
//---------------------------------------------------------------------------
//использование картинки так
//void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
try
{
Bitmap1->LoadFromResourceName(HInstance, "NameBmp1");
Canvas->Draw(12,12,Bitmap1);
}
catch (...)
{
MessageBeep(0);
}
delete Bitmap1;
}
Vladimir Fedulov 2:5030/548
Предыдущий вопрос
|
|
Следующий вопрос
источник
by jenyok
|