Page 1 of 2
Another sample of Mouse's cursors
Posted: Thu Sep 22, 2016 7:18 pm
by Pablo César
Hi all,
In this example I wish to change cursor for a single control but was not able probably due in SetWindowCursor function uses SetClassLongPtr instead SetWindowLongPtr according at web says SetClassPtr() is changing cursor for all controls, belonging to a class.
At begining I used for form a for one control which is accepting for all control at form.

- Screen5.png (34.17 KiB) Viewed 16354 times
I hope could be useful for inspiration...
Rgds
Another sample of Mouse'se cursors
Posted: Thu Sep 22, 2016 7:22 pm
by Pablo César
Dear Rathi,
I forgot to mention that in HMG Resources folder there are two unuseful .cur files that IMO could be deleted. Files: hp_minus.cur and hp_plus.cur.
Rgds
Re: Another sample of Mouse's cursors
Posted: Thu Sep 22, 2016 10:28 pm
by danielmaximiliano

Gracias por Compartir Pablo
Re: Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 7:41 am
by serge_girard
Thanks Pablo !
Serge
Re: Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 10:22 am
by quartz565
Ευχαριστώ Παύλο !
Re: Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 11:08 am
by mustafa
Hola amigo Pablo
Felicidades por tu linda aportación
Como podría hacer ? , para que un determinado botón al acercar el cursor
normal se convierta en otro cursor, antes de pulsar la ACTION
ahora lo consigo con la siguiente opción que aportó el Dr. Claudio Soto
Ejemplo si tengo varios Botones-> Button_1, Button_2 , Button_3 etc...
Pongo la siguiente sentencia asignado a cualquiera de los botones
y al acercar el cursor a cualquiera de los botones se convierte en
"finger.cur"
/*
END WINDOW
SETWINDOWCURSOR (Form_1.Button_1.Handle, "finger.cur")
Form_1.Center
Form_1.Activate
RETUR */
Mi problema es que todos los botones se reconvierten en este caso con "finger.cur"
Me gustaría aplicando tu Sample de asignar distintos cursores pero antes de pulsar
el Botón.
*----------------------------------- Google -------------------------------*
Hello friend Pablo
Congratulations on your beautiful contribution
How could I do? For a certain button to bring the cursor
Normal becoming another cursor before pressing the ACTION
now I get to the next option that Dr. Claudio Soto contributed
Example if I have several Buttons-> Button_1, Button_2, Button_3 etc ...
I put the following statement assigned to any button
and to bring the cursor to any button becomes
"Finger.cur"
/*
END WINDOW
SETWINDOWCURSOR (Form_1.Button_1.Handle, "finger.cur")
Form_1.Center
Form_1.Activate
RETUR */
My problem is that all buttons are reconverted in this case with "finger.cur"
I would like to apply your Sample to assign different cursors but before pressing
the button.
Saludos/Regards
Mustafa
Re: Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 1:10 pm
by EduardoLuis
Hi Pablo:
Very good and usefull your sample. Thanks for share.-
With regards.
Eduardo
Hola Pablo:
Muy bueno y útil tu ejemplo. Gracias por compartirlo
Eduardo
Re: Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 2:37 pm
by Steed
Gracias
Another sample of Mouse's cursors
Posted: Fri Sep 23, 2016 5:03 pm
by Pablo César
mustafa wrote:Hola amigo Pablo
Felicidades por tu linda aportación
Como podría hacer ? , para que un determinado botón al acercar el cursor
normal se convierta en otro cursor, antes de pulsar la ACTION
..
Ejemplo si tengo varios Botones-> Button_1, Button_2 , Button_3 etc...
Pongo la siguiente sentencia asignado a cualquiera de los botones
y al acercar el cursor a cualquiera de los botones se convierte en
"finger.cur"
...
Mi problema es que todos los botones se reconvierten en este caso con "finger.cur"
Me gustaría aplicando tu Sample de asignar distintos cursores pero antes de pulsar
el Botón.
Hola Mustafa, gracias at ti a todos por el interés demonstrado.
Como mencioné justamente en mi primer mensaje, hay este inconveniente cuando usamos la función SetWindowCursor y que hace uso de
SetClassLongPtr la cual está cambiando cursor para todos los controles, que pertenece a una clase. Según lo que dicen en internet es que deberia subtituir por
SetWindowLongPtr en nuestro código en la biblioteca HMG. Pero esta información o solución deberia evaluarla Claudio Soto. Porque por lo que a mi me parece
SetWindowLongPtr no parametriza con GCLP_HCURSOR (replaces a handle to the cursor) como lo hace con la funcion SetClassLongPtr y no veo solución simples a no ser que el usuário haga un función para controlar el evento simulando "mouseover".
Talvez Claudio encuentre una solución simples que sea interesante que pueda cambiar el cursor a un determinado control y no todos como lo hace ahora.
Links relacionados:
http://stackoverflow.com/questions/1027 ... n-a-button
https://msdn.microsoft.com/pt-br/librar ... s.85).aspx
https://msdn.microsoft.com/pt-br/librar ... s.85).aspx
Por esta razón, disponibilzé este ejemplo para demonstrar lo que se puede hacer y frizar la actual limitación con la función
SetWindowCursor.
Saludos
Re: Another sample of Mouse's cursors
Posted: Sat Sep 24, 2016 10:07 am
by mustafa
Gracias Pablo por la explicación tan documentada.
Un abrazo
Mustafa