eigenen Cursor laden



  • Die Sache mit den Resource usw, ist keine Borland spezifische Entwicklung. Das ist pur Windows und gibt es schon seit Win 3.1. Der Resourceneditor (hier->Bildeditor ) ist ein "Service" von Borland. Früher musste man alles per "Hand" in einer RC-Datei machen (dazu gehörte auch die Bescheribung der Formulare).



  • Also hab jetzt eine Ressourcen-Datei erstellt und im selben Order wie das Programms gespeichert.Hab die Datei auch über das Menü "Projekt" zum Projekt hinzugefügt.Es wird im Programm aber immer noch der normale Windowscursor angezeigt.

    PS: Danke für die Gedult, die ihr bis jetzt hattet.



  • Wie sieht denn nun der Code aus?



  • so

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    
    const crMyCursor = 1;
    
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Screen->Cursors[crMyCursor] = LoadCursor(HInstance, "Cursor1");
    Cursor = crMyCursor;
    
    }
    //---------------------------------------------------------------------------
    


  • Screen->Cursor = crMyCursor;

    "Cursor1" ist auch der Name in der RES-Datei?

    Prüfe das Laden derart ab:

    if(LoadCursor(HInstance, "Cursor1")==NULL)
    {
    DWORD error=GetLastError();
    }

    In der Hife zur WIN 32 API kannst du nachschauen was die Fehlernummer bedeuetet.



  • Ups war falsch.Ich hab jetzt den Namen der *res-Datei anstelle von "Cursor1" eingegeben. Geht aber immer noch nicht.
    Bei deiner Eingabe mit dem if-Block passiert auch nichts neues.



  • Doch in error steht eine Fehlernummer



  • Ich hab jetzt den Namen der *res-Datei anstelle von "Cursor1" eingegeben

    Wer hat das gesagt??

    Name in der RES-Datei?

    Der Name des Cursors IN der Res-Datei



  • Hab nun den Namen des Cursors in der RES Datei und im Code geändert.
    Dann ging es plötzlich 😃 😃 😃 😃 😃 :D.
    Wen es interessiert:

    //---------------------------------------------------------------------------
    #include <vcl\vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma resource "*.dfm"
    
    const crMyCursor = 1;
    
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    Screen->Cursors[crMyCursor] = LoadCursor(HInstance, "MYCURSOR");
    Cursor = crMyCursor;
    
    }
    //---------------------------------------------------------------------------
    


  • Puuuuhhhh 😃 😃 😃


Anmelden zum Antworten