Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ресурсы


Diamond Cat ©   (2003-02-28 03:45:00) 

как загрузить рисунок из ресурса, програма на апи и хотелось бы на окно программы загрузить рисунок из ресурса.


Evgeny   (2003-03-01 07:20:00) [1]

>Diamond Cat
Вообще то ImageEditor, поставляемый с Delphi, это не та программа, которой следует пользоваться. А другими словами пользоваться ею крайне противопоказано.


STATIC   (2003-03-01 06:04:00) [2]


> Игорь Шевченко © (28.02.03 16:16)
> И не забываем после нулевого результата...


Diamond Cat   (2003-03-01 02:28:00) [3]

народ всем спасибо, вобщем паниковал я зря, спрашивал как загрузить рисунок на форму только потому , что сначала не проверил грузиться ли он вообще, а он гад не грузился потому что в ХР, ImageEditor не коректно сохраняет имя ресурса, (спасибо MBo, что натолкнул на эту идею)что самое интересное, иконка-то грузится, после после того как перекомпилил ресурс с помощью brcc32 все заработало. А то я уж думал ,что совсем отупел.
Еще раз спасибо всем за активное участие


STATIC   (2003-02-28 22:52:00) [4]

Хотя, HBRUSH(ююю), конечно, лишнее и, разтся, приложиться надо


Игорь Шевченко   (2003-02-28 16:41:00) [5]

Пример для загрузки:
unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TfMain = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
FMyBitmap : TBitmap;
public
{ Public declarations }
end;

var
fMain: TfMain;

implementation

{$R *.DFM}
{$R MyBitmap.res}

procedure TfMain.FormCreate(Sender: TObject);
begin
FMyBitmap := TBitmap.Create();
FMyBitmap.Handle := LoadBitmap(hInstance, "BITMAP1");
if FMyBitmap.Handle = 0 then
RaiseLastWin32Error();
end;

procedure TfMain.FormPaint(Sender: TObject);
begin
BitBlt(Canvas.Handle, 1, 1, FMyBitmap.Width, FMyBitmap.Height,
FMyBitmap.Canvas.Handle, 0, 0, SRCCOPY);
end;

end.


Содержимое mybitmap.rc
BITMAP1 BITMAP "smart.bmp"


STATIC   (2003-02-28 16:37:00) [6]

Попробуй сделать по такому принципу:

var WndClass: TWndClass;
begin
with WndClass do
begin
{......}
hbrBackground := HBRUSH(CreatePatternBrush(LoadBitmap(SysInit.HInstance,"IDB_BKGD")));
{......}
end;
RegisterClass(WndClass);
end;


Diamond Cat   (2003-02-28 16:24:00) [7]

2 Игорь Шевченко
да, попробовал f:=loadbitmap(hinstance,"Bitmap1"); результат тотже


Игорь Шевченко   (2003-02-28 16:16:00) [8]

И не забываем после нулевого результата вызывать функцию GetLastError и смотреть ее результат.


Игорь Шевченко   (2003-02-28 16:03:00) [9]

Внимательно читаем про смысл слова MakeIntResource :-)))))
И видим, что в качестве параметра ему передается целое число :-)


Diamond Cat   (2003-02-28 15:47:00) [10]

всеравно F получается нулевым


MBo   (2003-02-28 15:43:00) [11]

f:=CreateCompatibleBitmap(getdc(hwnd),50,50);
этого не надо


Diamond Cat   (2003-02-28 15:41:00) [12]

шутка в том, что не грузится он с помощью loadbitmap, возвращает 0, при том что иконка из этого ресурса очень даже грузится

var
WndClassEx: TWndClassEx;
f:hbitmap;
begin
.......................
WndClassEx.hIcon := LoadIcon (hInstance, MakeIntResource ("MAINICON")); работает
.........................
f:=CreateCompatibleBitmap(getdc(hwnd),50,50);
f:=loadbitmap(hinstance,MakeIntResource("Bitmap1")); не работает
if f=0 then exit;

а главное как этот рисунок потом установить на форму?


крот   (2003-02-28 05:49:00) [13]

LoadBitmap


Наверх

Титульная страница Поиск, карта сайта Написать письмо