Einzelnen Beitrag anzeigen

scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#10

Re: Animirten Cursor in exe einbinden?

  Alt 30. Nov 2003, 14:02
Hier nochmal eine optmierte Fassung, um Laufzeitfehler zu vermeiden:

Delphi-Quellcode:
function LoadAniCursor(hInst : Cardinal; lpID : PChar; lpType : PChar = nil) : HCURSOR;
var
  hRes : HRSRC;
  dwSize : DWORD;
  hGlob : HGLOBAL;
  pBytes : PBYTE;
begin
  result := 0;

  If not Assigned(lpType) then
    lpType := PChar('ANICURSOR');

  If (Cardinal(lpID) < $10000) then
    hRes := FindResource(hInst, PChar('#' + IntToStr(Cardinal(lpID))), lpType)
  else
  If (StrToIntDef(StrPas(lpID), 0) <> 0) then
    hRes := FindResource(hInst, PChar('#' + StrPas(lpID)), lpType)
  else
    hRes := FindResource(hInst, lpID, lpType);

  dwSize := SizeofResource(hInst, hRes);
  hGlob := LoadResource(hInst, hRes);
  If (hGlob <> 0) then
    begin
      pBytes := PBYTE(LockResource(hGlob));
      If Assigned(pBytes) then
        result := HCURSOR(CreateIconFromResource(pBytes, dwSize, FALSE, $00030000));
    end;
end;
  Mit Zitat antworten Zitat