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

Вниз

Как достать Bitmap из ресурса DLL   Найти похожие ветки 

 
Егорычев М   (2003-02-04 14:12) [0]

Господа программеры!
Подскажите, плз, как достать Bitmap из DLL. DLL написана
на Delphi.


 
Игорь Шевченко ©   (2003-02-04 15:16) [1]

LoadBitmap, как обычно


 
Егорычев М   (2003-02-04 17:26) [2]

Извините, я те так выразился.:-)
Существует EXE"шник и DLL. В ресурсе DLL находится
около 50 Bitmap"ов. Как бы их вытащить (по индексу, например).
Пытался вот так:

(DLL)

function GetBMP(i : index): TBitmap; stdcall;
var
bmp :TBitmap;
begin
bmp:=TBitmap.Create;
case i of
...
3 : bmp.LoadFromResourseName(hInstance,"имя_Bitmap");
...
end;//case
Result:=bmp;
end;

или

procedure GetBMP(i : index;bmp : TBitmap); stdcall;
begin
case i of
...
3 : bmp.LoadFromResourseName(hInstance,"имя_Bitmap");
...
end;//case
end;

Вообщем вылезает ошибка. :-(((
Подскажите братцы, в чем дело...




 
Игорь Шевченко ©   (2003-02-04 17:48) [3]

Естественно вылезает. Нельзя классы из DLL в EXE передавать.
Передавай HBITMAP, т.е. Bitmap.Handle


 
Songoku   (2003-02-05 16:27) [4]

SendMessage(GetDlgItem(hwnd,116),STM_SETIMAGE,IMAGE_BITMAP,LoadBitmap(GetModuleHandle(nil),MAKEINTRESOURCE(12)));


 
Игорь Шевченко ©   (2003-02-05 16:39) [5]

Songoku (05.02.03 16:27)

Это, пардон, к чему ? :-)))


 
Songoku   (2003-02-05 17:14) [6]

Игорь Шевченко:
EntDialog.rc
___________________
#define Bit 12
Bit BITMAP "18.bmp"
___________________

...........
{$R "EntDialog.res"}
.........
CreateWindow("static",nil,SS_BITMAP or WS_CHILD or WS_VISIBLE,120,94,70,23,Handle,116,0,nil);
SendMessage(GetDlgItem(Handle,116),STM_SETIMAGE,IMAGE_BITMAP,LoadBitmap(GetModuleHandle(nil),MAKEINTRESOURCE(12)));


 
Егорычев М   (2003-02-06 09:23) [7]

Спасибо ОГРОМНОЕ!

Работает чудно. EXE"шник похудел аж на 200 kb

function GetBmp(i: integer): HBITMAP; stdcall; export;
var
bmp : TBitmap;
begin
bmp:=TBitmap.Create;
case i of
1 : bmp.LoadFromResourceName(hInstance,"NEW");
2 : bmp.LoadFromResourceName(hInstance,"OPEN");
...
...
end;//case
Result:=bmp.Handle;
end;


 
MARcoDEN ©   (2003-02-06 10:13) [8]

AModule: THandle;
AModule := LoadLibrary(...);
Bitmap.LoadFromResourceName(AModule, <название картинки>);
FreeLibrary(AModule);



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-6579
ErrorMAN
2003-03-21 23:05
2003.04.03
первая сторока TMemo


3-6350
Sir Alex
2003-03-13 12:56
2003.04.03
Как пользоваться Yaffil Embedded SQL Server?


14-6764
AlekseyK
2003-03-15 11:20
2003.04.03
Порты TCP/UTP


14-6717
Leon Crom
2003-03-14 15:24
2003.04.03
спиртное... ( бухло кто не понял)


3-6416
Suharew
2003-03-16 21:21
2003.04.03
Как удалить все записи таблицы с помощью SQL запроса