Ich möchte in meiner Oberfläche verschiedene Cursor für verschieden Tools darstellen. Durch die Forensuche bin ich auf den Befehl:
LoadCursorFromFile_
und
SetCursor_
gestoßen. Im Grobem funktioniert es auch. Allerdings lässt mich ein Zweifel und ein Problem nicht zur Ruhe kommen.
1. Den Befehl SetCursor_ lasse ich ständig (in der repeat-schleife) wiederholen. Wenn ich das nicht mache, den Cursor also nur einmal setzen lasse, dann ist sofort wieder der normale Pfeil dar. Das kann doch aber nicht die Lösung sein, oder? Ist es nicht unheimlich ressourcenfressend den Cursor in der Endlosschleife setzen zu lassen?
2. Der Cursor wird zu groß dargestellt. Dir .cur Datei ist 20x20 Pixel groß, jedoch wird der Cursor vergrößert angezeigt. Wie kann ich das unterbinden? Was läuft hier schief?
Allgemeine Fragen zu Cursor [gelöst]
Allgemeine Fragen zu Cursor [gelöst]
Zuletzt geändert von Sebastian am 19.12.2007 11:05, insgesamt 1-mal geändert.
(Win 11 64-bit, PB 6.04 und 6.10)
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Probier das von edel bitte mit z.B.
hand = LoadCursorFromFile_("Garden.ico")
anstelle von hand = LoadCursor_(0,#IDC_HAND)
Funktioniert prima
http://www.purebasic.fr/german/viewtopi ... 292#180292
Gruß Falko
hand = LoadCursorFromFile_("Garden.ico")
anstelle von hand = LoadCursor_(0,#IDC_HAND)
Funktioniert prima

http://www.purebasic.fr/german/viewtopi ... 292#180292
Gruß Falko
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Für das Verständnis zu deinem Code müsste man ihn erst sehen, wie du es
gemacht hast. Alles andere steht eigentlich in der API gut beschrieben.
Für einen dauerhaften Cursor, der nicht in die Repeatschleife geschrieben
wird, müsstest du wahrscheinlich SetClassLong_() nutzen.
Diesmal kommt kein Beispiel
[Edit] Unter SetCursor_() steht unter Remarks, folgendes:
[/Edit]
Mit freundlichen Grüßen,
Falko
gemacht hast. Alles andere steht eigentlich in der API gut beschrieben.
Für einen dauerhaften Cursor, der nicht in die Repeatschleife geschrieben
wird, müsstest du wahrscheinlich SetClassLong_() nutzen.
Diesmal kommt kein Beispiel

[Edit] Unter SetCursor_() steht unter Remarks, folgendes:
Lustige Translator-Übersetzung, aber man weiß wenigstens, warum man einen ClassCursor setzen sollteDer Cursor wird nur gesetzt, wenn der neue Cursor anders als der vorherige Cursor ist; sonst kehrt die Funktion sofort zurück.
Der Cursor ist eine gemeinsam benutzte Ressource. Ein Fenster sollte die Cursorform setzen, nur wenn der Cursor in seinem Kundenbereich ist oder wenn das Fenster Mauseinsatz schlägt. In Systemen ohne eine Maus sollte das Fenster den vorherigen Cursor wiederherstellen, bevor der Cursor dem Kunden Bereich überlässt oder bevor es Steuerung ein anderes Fenster abtritt.
Wenn Ihre Bewerbung den Cursor setzen muss, während es in einem Fenster ist, vergewissern Sie sich, dass der Klassencursor für die Klasse des angegebenen Fensters auf null gesetzt ist. Wenn der Klassencursor nicht null ist, stellt das System den Klassencursor jedes Mal wieder her, wenn die Maus bewegt ist.
Der Cursor wird nicht auf der Abschirmvorrichtung gezeigt, wenn die interne Cursoranzeigezählung weniger als null ist. Dies tritt auf, wenn die Bewerbung die Funktion ShowCursor verwendet, um den Cursor mehr zu verstecken, misst, als den Cursor zu zeigen.
[/Edit]
Mit freundlichen Grüßen,
Falko
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte