Seite 1 von 2
SetCursor_() wie bei Hyperlink? [endgültig gelöst]
Verfasst: 28.09.2007 00:18
von Scarabol
Hi Leute,
wie kann ich den Cursor so ändern das er aussieht wie beim HyperlinkGadget?
Gruß
Scarabol
Verfasst: 28.09.2007 03:16
von Scarabol
Ok danke, das war zu einfach...
Ich kannte bis dato nur die #OCR_...
Gruß
Scarabol
Verfasst: 28.09.2007 05:55
von Green Snake
Ich würde das wie folgt machen:
Code: Alles auswählen
SetClassLong_(WindowID(0),#GCL_HCURSOR,LoadCursor_(0, #IDC_HAND))
Verfasst: 28.09.2007 18:02
von Scarabol
Hi,
gibt es irgendeinen Unterschied?
Gruß
Scarabol
Verfasst: 28.09.2007 18:12
von #NULL
ich dachte erst, da wird immer der cursor geladen, der wie eine hand
aussieht mit finger nach oben, aber ich hab den code mal probiert, und es
wird ja der vom user eingestellte cursor verwendet.

(ich verwende einen anderen)
wofür steht dann das 'HAND' in #IDC_HAND ?
Verfasst: 28.09.2007 18:50
von Scarabol
Ist eine Windowsinterne Bezeichnung die, aber nur für den Cursor in den Einstellungen gilt, nicht für eine Datei oder so.
Währe aber trotzdem interssant zu wissen wie man die Hand erzwingt?
@Null
Welche Cursor taucht den bei dir auf wenn du über einem Hyperlink bist?
Gruß
Scarabol
Verfasst: 28.09.2007 19:08
von #NULL
mein normaler cursor ist 'wgtail.ani'
und mein link-cursor ist '3dgarro.cur'
(eingestellt über maus-eigenschaften)
Verfasst: 28.09.2007 21:53
von Ligatur
Den Handcursor kannst du mit LoadCursorFromFile_() erzwingen.
Code: Alles auswählen
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu)
SetClassLong_(WindowID(0), #GCL_HCURSOR, LoadCursorFromFile_("c:\windows\cursors\harrow.cur"))
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
Edit:
Mit folgenden Code geht auch der originale Handcursor:
Code: Alles auswählen
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu)
mh = OpenLibrary(0, "c:\windows\winhlp32.exe")
If mh
SetClassLong_(WindowID(0), #GCL_HCURSOR, LoadCursor_(mh, "#106"))
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
CloseLibrary(0)
EndIf
EndIf
Verfasst: 29.09.2007 02:35
von Scarabol
Hi Leute,
zu Not könnte ich den Cursor ja mit in die Exe packen...
Gibt es nen Befehl CatchCursor_ oder so ?
Gruß
Scarabol
Verfasst: 29.09.2007 13:14
von Ligatur
Scarabol hat geschrieben:Hi Leute,
zu Not könnte ich den Cursor ja mit in die Exe packen...
Gibt es nen Befehl CatchCursor_ oder so ?
Gruß
Scarabol
Du könntest den Cursor aus winhlp32.exe herauskopieren und dann als Resource mit einbinden. Dann kannst du mittels
den Cursor benutzen. Da Winhlp32.exe aber bei so gut wie jeden Windows - Rechner vorhanden sein sollte geht dies ebensogut mit meiner obigen Lösung, und die Frage von Copyrightverletzungen durch kopieren des Cursors muss nicht geklärt werden.
Einen Befehl, der den Cursor au einem Speicherbereich herausliest wird es nicht geben.