Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Animiertes LoadCursor? (https://www.delphipraxis.net/190318-animiertes-loadcursor.html)

Namenloser 23. Sep 2016 19:19

AW: Animiertes LoadCursor?
 
Kann man nicht einfach die Dateiendung ändern? Ich meine, dass das ging.

himitsu 23. Sep 2016 21:17

AW: Animiertes LoadCursor?
 
Nee, hatte ich auch versucht, also .ani in .cur zu ändern, aber da hatte der Compiler och gemeckert :lol:

Uwe Raabe 24. Sep 2016 22:41

AW: Animiertes LoadCursor?
 
Jetzt bin ich etwas verwirrt. Ich habe mein Projekt gerade unter XE8 ausprobiert und es funktioniert auch dort problemlos :gruebel:

Luckie 24. Sep 2016 22:46

AW: Animiertes LoadCursor?
 
Früher, als noch vorm Kriech, als ich noch programmiert habe, konnte man sich das Windows SDK runterladen. Da war auch ein Resourcencompiler dabei. Wie geht der denn mit den animierten Cursor um in der Res-Datei?

EWeiss 24. Sep 2016 23:19

AW: Animiertes LoadCursor?
 
Zitat:

Früher, als noch vorm Kriech, als ich noch programmiert habe
Bin noch am raten welcher das wohl gewesen sein mag..
Aber gut wie dem auch sei ;) Erzähl mir nicht du würdest überhaupt nicht mehr programmieren.

Jetzt sag nicht NEIN.. LOL ;)

gruss

Luckie 24. Sep 2016 23:25

AW: Animiertes LoadCursor?
 
Öhm. Such dir schon mal eine Telefonnummer für eine Psychoklinik raus. Die Antwort ist: Nein.

Und es war der Krieg 1870/1871, den letzten, den wir gewonnen haben. :mrgreen:

Aber sagt mal, wollt ihr mich reizen, bis ich meine eigene Beiträge löschen muss wegen offtopic? :roll:

DeddyH 25. Sep 2016 10:40

AW: Animiertes LoadCursor?
 
Poste, Du Luder :lol: :duck:

himitsu 25. Sep 2016 10:54

AW: Animiertes LoadCursor?
 
Ich glaub der ResCompiler vom SDK ist jetzt auch mit dabei, wo Delphi oftmals ja nun MSBUILD benutzt.

Grade nochma probiert, diesma nimmt Delphi den BRCC32, aber ich bin mir sicher, dass der letztes Mal den CGRC verwendete, so wie für die Projektressource.
Zitat:

[BRCC32 Fehler] Status.rc(6): Cannot open file: crNetWait.ani
Die RC mit
Delphi-Quellcode:
crNetWait CURSOR crNetWait.ani
dem Projekt hinzugefügt,
Delphi-Quellcode:
{$R 'Status.res' 'Status.rc'}
in der DPR erhalten und dann einfach F9 gedrückt, also über den Inlinecompiler.


Mir ist jetzt mal aufgefallen, dass der Compiler (inline und command-line) von
Delphi-Quellcode:
{$RESSOURCE ...}
/
Delphi-Quellcode:
{$R ...}
nur den ersten parameter interpretiert.
Der zweite Parameter ist nur 'ne nutzlose Information.
Der Ressource-Compiler wird ausschließlich über den Eintrag in der DPROJ angeworfen. :wall:

Aber gut. Ich nehm gern *.RC, *.SQL und andere Dateien ins Projekt mit auf, damit F6 diese Dateien auch findet. :stupid:

turboPASCAL 25. Sep 2016 11:45

AW: Animiertes LoadCursor?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi bei Delphi 6 PE funktioniert folgendes:
Delphi-Quellcode:
program AniCurFromRes;

{$R '_res\ExtraAppResources.res' '_res\ExtraAppResources.rc'}

uses
  Forms,...;

{$R *.res}

begin
  ...
Delphi-Quellcode:
const
  MY_CURSOR = $100;


// 8, 24 BPP for >= Win 7
// 1, 4, 8 BPP for < Win 7
function LoadAnimCursorFromRes(hInst: Cardinal; ResName, resourceTypeName: PChar): HCURSOR; overload;
var
  hCur: HCURSOR;
  hIco: HICON;
  hRes: HRSRC;
  dwResourceSize: DWORD;
  hRsrcGlobal: HGLOBAL;
  pResource: PBYTE;
begin
  hCur := 0;
  if (hInst > 0) then
  begin
    hRes := FindResource(hInst, ResName, resourceTypeName);
    dwResourceSize := SizeofResource(hInst, hRes);
    if (dwResourceSize > 0) then
    begin
      hRsrcGlobal := LoadResource(hInst, hRes);
      if (hRsrcGlobal > 0) then
      begin
        pResource := PBYTE(LockResource(hRsrcGlobal));
        if (pResource <> nil) then
        begin
          hIco := CreateIconFromResource(pResource, dwResourceSize, FALSE, $00030000);
          //- or ->
          //hIco := CreateIconFromResourceEx(pResource, dwResourceSize, FALSE, $00030000,
          //  0, 0, LR_DEFAULTSIZE or LR_SHARED or LR_DEFAULTCOLOR);
          //<-
          UnlockResource(hRsrcGlobal);
        end;
        FreeResource(hRsrcGlobal);
      end;
    end;
  end;
  Result := HCURSOR(hIco);
end;

function LoadAnimCursorFromRes(hInst: Cardinal; ResName: PChar): HCURSOR; overload;
const
  RT_ANICURSOR: PChar = 'ANICURSOR';
begin
  Result := LoadAnimCursorFromRes(hInst, ResName, RT_ANICURSOR);
end;

procedure TForm1.Test;
begin
  Screen.Cursors[MY_CURSOR] := LoadAnimCursorFromRes(hInstance, MAKEINTRESOURCE(100));
  Cursor := MY_CURSOR;
end;

himitsu 25. Sep 2016 16:58

AW: Animiertes LoadCursor?
 
Zitat:

Zitat von turboPASCAL (Beitrag 1348783)
Hi bei Delphi 6 PE funktioniert folgendes:

Das hat keiner bestritten und es wurde schon erwähnt, dass es so funktioniert.

Und jetzt nochmal #1, #5, #10 und #18 lesen. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz