![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ресурсы
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