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

Вниз

Вывести рисунок на форму   Найти похожие ветки 

 
anod ©   (2002-05-19 23:11) [0]

В onPaint пишу

hDC:= BeginPaint(FORM1.Handle, PS);
GetObject(hBitmap, sizeof(BITMAP), @BMP);
hCompatibleDC:= CreateCompatibleDC(hDC);
hOldBitmap:= SelectObject(hCompatibleDC, hBitmap);
BitBlt(hDC, 0, 0, BMP.Width, BMP.Height, {Вот здесь ошибка, если исправить на числа, то все работает, но картинка не появляется на экране}
hCompatibleDC, 0 , 0,
SRCCOPY);
SelectObject(hCompatibleDC, hOldBitmap);
DeleteDC(hCompatibleDC);
EndPaint(Form1.Handle, PS);


В onCreate:
hBitmap := LoadImage(0, "skin.bmp", IMAGE_BITMAP, 0 ,0, LR_LOADFROMFILE);

HELP!


 
Dmk   (2002-05-19 23:25) [1]

Не стоит писать такие вещи в событиях. Это только мое мнение.
Не знаю как насчет Bitmap но DibSection на форме отрисовывается без проблем.
//..............................................................
dc:=GetDc(0);
_Info.fgDIBHDC := CreateCompatibleDC(dc);
_Info.fgDIBBitmap := CreateDIBSection(_Info.fgDIBHDC,pBitmapInfo(@bmInfo)^,DIB_Colors,_Info.fgEntry,hSection,0);
ReleaseDc(0,dc);
_Info.fgOldBitmap := SelectObject(_Info.fgDIBHDC,_Info.fgDIBBitmap);
_pInfo.fgDrawDC := GetDC(Form.Handle);
//..............................................................
OnPaint:
//..............................................................
BitBlt(_pInfo.fgDrawDC,30,30,vpWidth,vpHeight,_pInfo.fgDIBHDC,x,y,SRCCOPY);
//..............................................................
Это кусок текста моей проги. Все работает отлично.


 
anod ©   (2002-05-19 23:52) [2]

Проблема втом что на Билдере , да ещё и на Апи все работало, может я не так перенес некоторые переменные?


 
Dmk   (2002-05-20 03:00) [3]

Этот вариант работает 100%. Проверял. Хотя х.з. у меня W2k стоит.
//...............................................................
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MyBitmap:TBitmap;
SrcDC,DrawDC:Cardinal;
BMP:Bitmap;
hOldBitmap:DWord;
implementation
{$R *.dfm}

Procedure LoadBmp(BmpName:string);
var dc:HDC;
begin
MyBitmap := TBitmap.Create;
MyBitmap.LoadFromFile(BmpName);
GetObject(MyBitmap.Handle, sizeof(BITMAP), @BMP);
//...
dc := GetDc(0);
SrcDC := CreateCompatibleDC(dc);
ReleaseDc(0,dc); // <-



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
14-58279
lipskiy
2002-06-19 22:13
2002.07.18
Кому между делом нечем заняться? Заходите сюда!


3-57978
Weare
2002-06-26 11:48
2002.07.18
Проблемы с доступом...


3-57952
Weare
2002-06-24 18:14
2002.07.18
Настройка BDE


3-57967
Фантом
2002-06-25 13:33
2002.07.18
Поиск в сетке по части слова


14-58301
Sergey13
2002-06-21 11:32
2002.07.18
Предложение по организации форума