setting system cursor

I know you can set the cursor to a custom ico. But, is it possible to set the cursor to one of the system cursors that isn’t the default arrow? Like the hand cursor or the cross cursor, etc.


Actually, I realized I can do it just by calling the API:

SetCursor(LoadCursor(NULL, IDC_HAND));

Is there something I should take into account when mixing API calls like that with Panda? (On Windows only, of course).

If you’re not concerned about platform independence, there’s no need to do anything special: you can make whatever Windows calls you like. (Unless you want to dive deep into the DirectX or OpenGL state machine, in which case you do need to take a little more care.)

If platform independence is important to you, you can use #ifdefs around the appropriate lines of code. Panda defines a few macros that it uses for platform determination; or you can use your own.

Of course, if you’re setting the mouse cursor to a system icon, which is inherently platform-dependent, it’s a good sign that you’re not aiming for platform independence. :slight_smile:


Well I do want platform independence but this is for the editing tool, which I’m only gonna build for Windows cause only I am gonna be using it.

I just wanted to know if there was so potential issue with api calls, but it sounds like you aren’t doing anything weird like changing window handlers so it’s cool, thanks.