Главная страница
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.011 c
4-58375
dumb
2002-05-17 22:35
2002.07.18
Запуск консольного приложения...


1-58096
Юра
2002-07-05 11:44
2002.07.18
Некорректное отображение формы на разных мониторах


1-58205
Jesuit
2002-07-06 03:10
2002.07.18
Подскажите плиз как сравнить два разных времени ?


8-58232
MPaul
2002-03-12 13:24
2002.07.18
c CGM форматом кто нибудь работал ?


6-58239
Duncan
2002-05-06 23:54
2002.07.18
Обсчет трафика