eigenen Cursor laden
-
die liste kannsst du einsehen, wenn du in dem Objectinspector den Pfeil nach unten neben Cursor drückst. in einer RES datei kannst du andere dateien (bilder, sounds, cursors, usw.) speichern, die mit in deine exe compiliert werden. du hast doch eine .rc datei gemacht, in der du den cursor eingetragen hast und diese hast du auch dem projekt hinzugefügt oder???
http://bytesandmore.de/rad/cpp/snipp/sc06010.php
-
Man muss keine RC-Datei machen.
Mit dem Bildeditor kann man die Resourcen erstellen und gleich als RES speichern
-
ich weiß. aber es ist eine möglichkeit
-
Also mit dem Bildeditor hab ich eine *.cur-Datei gemacht.
Die hab ich dann im selben Ordner ín dem auch das Programm ist gespeichert.
Wie kann man denn mit dem Bildeditor eine *.res-Datei machen?
-
Ist jetzt nicht war, oder?
Wie wäre es, einmal selbst probieren und die Menüs mal testen
Datei -> Neu-> RES-Datei auswählen
-
Sorry wenn ich mich ein bisschen blöd anstelle aber ich kapiere nicht wozu man dann *cur-Dateien braucht. Ohne die scheint das ganze ja auch nicht zu gehen.
-
*.cur brauchst du, wenn du keinen Bildeditor hast und eine *rc Datei erzeugen musst. Die enthält dann einen Verweis auf die *cur-Datei.
Du brauchst jetzt hier und heute keine *.cur Datei. Du machst eine neue *.res Datei wählst dort einen Cursor aus, malst deinen Cursor, speicherst die RES, nimmst sie in dein Projekt auf und gut. Vorher merkst du dir noch den den Namen der Cursors in der RES-Datei üblicherweise Cursor1
-
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
