Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Вниз

Bitmap   Найти похожие ветки 

 
Erl   (2005-10-27 22:28) [0]

Добрый вечер.
Уважаемые мастера, можно посмотреть пример как загрузить
через WINAPI Bitmap в форму,ср=озданную тоже WINAPI;
Спасибо.


 
Eraser ©   (2005-10-28 01:19) [1]


> Erl   (27.10.05 22:28)

В форму битмап загрузить нельзя.


 
vvvaaa   (2005-10-28 11:34) [2]


> Eraser ©   (28.10.05 01:19) [1]

Почему нельзя??? Очень даже можно!


var

 Handle:HWND;
 WinDC,BmpDC :hDC;
 hBMP: HBITMAP;
 fh,fw:longint;

...

procedure LoadBMP(winDC:HDC; FileName:string; var hBmp:HBitmap; var h,w:longint);
const tbmfh=sizeof(TBITMAPFILEHEADER);
     tbmih=sizeof(TBITMAPINFOHEADER);
var hfbm,hmem1,hmem2:THandle;
   bmfh:TBitmapFileHeader;
   bmih:TBITMAPINFOHEADER;
   lpbmi:pBitmapInfo;
   lpvBits:pointer;
   dwRead:dword;
begin
hfbm:=CreateFile(pchar(FileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,0);
ReadFile(hfbm,bmfh,tbmfh,dwRead,nil);
ReadFile(hfbm,bmih,tbmih,dwRead,nil);
hmem1:=GlobalAlloc(GHND,bmfh.bfOffBits-tbmfh);
lpbmi:=GlobalLock(hmem1);
lpbmi^.bmiHeader :=bmih;
w:=bmih.biWidth;
h:=bmih.biHeight;
ReadFile(hfbm,lpbmi^.bmiColors,bmfh.bfOffBits-tbmfh-tbmih,dwRead,nil);
hmem2:=GlobalAlloc(GHND,(bmfh.bfSize-bmfh.bfOffBits));
lpvBits:=GlobalLock(hmem2);
ReadFile(hfbm,lpvBits^,(bmfh.bfSize-bmfh.bfOffBits),dwRead,nil);
hBmp:=CreateDIBitmap(windc,bmih,CBM_INIT,pchar(lpvBits),lpbmi^,DIB_RGB_COLORS);
GlobalUnlock(hmem1);
GlobalUnlock(hmem2);
CloseHandle(hfbm);
end;

...
WM_PAINT:
   BitBlt(WinDC,0,0,fw,fh,BmpDC,0,0,srccopy);

...

 WinDC:=GetDC(Handle);                       //HWND of Form
 LoadBMP(WinDC,"test.bmp",hBMP,fh,fw);
 BmpDC:=CreateCompatibleDC(WinDC);
 SelectObject(BmpDC,hBMP);
 


 
Eraser ©   (2005-10-28 14:54) [3]


> vvvaaa   (28.10.05 11:34) [2]

Ну и где тут загрузка? Тут битмап прорисовывается на форме.


 
vvvaaa   (2005-10-28 16:07) [4]

Если "загрузка" и "прорисовывается на форме" не одно и тоже, то что такое загрузка?


 
Leonid Troyanovsky ©   (2005-10-28 16:30) [5]


> vvvaaa   (28.10.05 16:07) [4]
> Если "загрузка" и "прорисовывается на форме" не одно и тоже,
>  то что такое загрузка?


А, действительно - что?
И, более того, "загрузить в форму" (т.е., что-то, IMHO, металлургическое).

--
Regards, LVT.


 
Eraser ©   (2005-10-28 19:43) [6]


> Leonid Troyanovsky ©   (28.10.05 16:30) [5]

Имхо, чтобы загрузить что-то нужен буффер, куда это загружать. DC это не совсем то...



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

Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.026 c
14-1133786020
Kerk
2005-12-05 15:33
2006.01.01
Поисковая система Kazzoom вступает в гонку с Yahoo! и Google


11-1115883363
SkynoSky
2005-05-12 11:36
2006.01.01
Помагите в разработке БД в Delphi и IB


14-1133520452
oleggar
2005-12-02 13:47
2006.01.01
dbf viewer


3-1131456613
oleggar
2005-11-08 16:30
2006.01.01
приведение типов в SQL


14-1134025069
mr.il
2005-12-08 09:57
2006.01.01
ответы по MySQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский