Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.21;
Скачать: CL | DM;

Вниз

Загрузка изображения из RES-файла   Найти похожие ветки 

 
ctapik-net ©   (2002-01-02 01:11) [0]

Засунул бмп в ресурс и хотел его загрузить следующим образом

procedure TForm1.Button1Click(Sender: TObject);
const
BM = $4D42; {Идентификатор типа изображения}
var
Bmp: TBitmap;
BMF: TBitmapFileHeader;
HResInfo: THandle;
MemHandle: THandle;
Stream: TMemoryStream;
ResPtr: PByte;
ResSize: Longint;
begin
BMF.bfType := BM;
{Ищем, загружаем и блокируем ресурс, содержащий BITMAP_1}
HResInfo := FindResource(HInstance, "SERVER", RT_Bitmap);
MemHandle := LoadResource(HInstance, HResInfo);
ResPtr := LockResource(MemHandle);


{Создаем Memory-поток, устанавливаем его размер, записываем
туда заголовок изображения и, наконец, само изображение }
Stream := TMemoryStream.Create;
ResSize := SizeofResource(HInstance, HResInfo);
Stream.SetSize(ResSize + SizeOf(BMF));
Stream.Write(BMF, SizeOf(BMF));
Stream.Write(ResPtr^, ResSize);


{Освобождаем поток и сбрасываем его позицию в 0}
FreeResource(MemHandle);
Stream.Seek(0, 0);


{Создаем TBitmap и загружаем изображение из MemoryStream}
Bmp := TBitmap.Create;
Bmp.LoadFromStream(Stream);
Canvas.Draw(0, 0, Bmp);
Bmp.Free;
Stream.Free;
end;


а он даже найти ресурс с таким именем не может!! почему?


 
Suntechnic ©   (2002-01-02 01:28) [1]

Попробуй вместо
FindResource(HInstance, "SERVER", RT_Bitmap);использовать
FindResource( 0, "SERVER", RT_Bitmap);
ну и далее по тексту тоже самое...



Страницы: 1 вся ветка

Текущий архив: 2002.01.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
7-66373
Gallant
2001-10-06 17:15
2002.01.21
Как запретить изменение показания часов в Windows98


4-66402
ДедушкаКо
2001-11-19 14:45
2002.01.21
Из осн. удалили...не понял почему. Попробую здесь...


6-66330
DARS73
2001-10-25 17:51
2002.01.21
INTERBASE И ПОДКДЮЧИТЬ EXEL В DELPHI


3-66217
karafuto
2001-12-18 12:09
2002.01.21
Подмена базы в MS SQL


1-66246
Milz
2002-01-03 17:00
2002.01.21
Нейросети