(Gast)
n/a Beiträge
|
Re: API Casten ala ALIAS von VB
17. Okt 2008, 11:16
Nach einigen versuchen habe ich es selbst geschafft:
Hier ist die lösung...
Delphi-Quellcode:
type
TMyBitmapInfo = Record
bmiHeader : TBitmapInfoHeader;
bmiColors : array [0..255] of RGBQUAD;
end;
function MyCreateDIBSection( DC: HDC; const p2: TMyBitmapInfo; p3: UINT;
var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; stdcall; external ' GDI32.DLL' name ' CreateDIBSection';
Delphi-Quellcode:
// Create DIB section
function TSkinEngine.skCreateDIBSection (imgHdc: Hdc; Width, Height:Integer; BitCount: Integer):HBITMAP;
var
bi: TMyBitmapInfo;
p : Pointer;
begin
bi.bmiHeader.biSize := SIZEOF(bi.bmiHeader);
bi.bmiHeader.biWidth := Width;
bi.bmiHeader.biHeight := Height;
bi.bmiHeader.biPlanes := 1;
bi.bmiHeader.biBitCount := BitCount;
bi.bmiHeader.biCompression := BI_RGB;
Result := MyCreateDIBSection(imgHdc, bi, DIB_RGB_COLORS, p, 0, 0);
end;
aufruf als Beispiel:
hPaintBitmap := skCreateDIBSection(imgHdc, MAX(rc.Right, X), MAX(rc.Bottom, Y), 32);
gruss Emil
|
|
Zitat
|