Registriert seit: 18. Mär 2005
1.682 Beiträge
Delphi 2006 Enterprise
|
Re: GDI+ & LoadFromResource Marke Eigenbau machts nicht
11. Nov 2007, 10:29
Hallo,
so, ich habe Deinen Constructor mal in eine Funktion verpackt und den FindResource-Aufruf auf WideChars geändert. Bei mir funktioniert das:
Delphi-Quellcode:
function CreateFromResource(Instance: HMODULE;
const bitmapName: WideString): TGPBitmap;
var
hResource: HRSRC;
imageSize: DWORD;
hResData: DWORD;
pResourceData: Pointer;
hBuffer: DWORD;
pBuffer: Pointer;
pStream: IStream;
begin
Result := nil;
hResource := FindResourceW(hInstance, PWideChar(bitmapName), PWideChar(RT_RCDATA));
imageSize := SizeofResource(hInstance, hResource);
hResData := LoadResource(hInstance, hResource);
pResourceData := LockResource(hResData);
hBuffer := GlobalAlloc(GMEM_MOVEABLE, imageSize);
pBuffer := GlobalLock(hBuffer);
CopyMemory(pBuffer, pResourceData, imageSize);
pStream := nil;
if CreateStreamOnHGlobal(hBuffer, FALSE, pStream) = S_OK then
Result := TGPBitmap.Create(pStream);
GlobalUnlock(hBuffer);
GlobalFree(hBuffer);
UnlockResource(hResData);
end;
Gruß
xaromz
I am a leaf on the wind - watch how I soar
|
|
Zitat
|