ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   set cursor with api (https://www.excelbanter.com/excel-programming/354753-set-cursor-api.html)

RB Smissaert

set cursor with api
 
Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS



Gary L Brown

set cursor with api
 
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS




RB Smissaert

set cursor with api
 
Isn't that just the type definition for a long variable?
In any case I did it like that at one stage and just the same.
I think the trouble is that Excel or VB in general will keep setting the
cursor
back to the original.

RBS


"Gary L Brown" wrote in message
...
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS





Gary L Brown

set cursor with api
 
All I can say is that the guy in the thread below (Paul Martin) implied that
it worked. His code is virtually identical to yours.
Good Luck,
Sincerely,
--
Gary Brown



"RB Smissaert" wrote:

Isn't that just the type definition for a long variable?
In any case I did it like that at one stage and just the same.
I think the trouble is that Excel or VB in general will keep setting the
cursor
back to the original.

RBS


"Gary L Brown" wrote in message
...
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS






RB Smissaert

set cursor with api
 
Have you tried this?

Option Explicit
Private Const IDC_ARROW = 32512&
Private Declare Function LoadCursor _
Lib "user32" Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

As you can see (with me anyhow), the cursor stays hourglass.


RBS

"Gary L Brown" wrote in message
...
All I can say is that the guy in the thread below (Paul Martin) implied
that
it worked. His code is virtually identical to yours.
Good Luck,
Sincerely,
--
Gary Brown



"RB Smissaert" wrote:

Isn't that just the type definition for a long variable?
In any case I did it like that at one stage and just the same.
I think the trouble is that Excel or VB in general will keep setting the
cursor
back to the original.

RBS


"Gary L Brown" wrote in message
...
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS







Gary L Brown

set cursor with api
 
No. Haven't tried it.
After looking at the google again, I did notice another difference in code.

Try...
SetCursor LoadCursor(0, lCursor)
instead of
SetCursor (LoadCursor(0, IDC_ARROW))

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Have you tried this?

Option Explicit
Private Const IDC_ARROW = 32512&
Private Declare Function LoadCursor _
Lib "user32" Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

As you can see (with me anyhow), the cursor stays hourglass.


RBS

"Gary L Brown" wrote in message
...
All I can say is that the guy in the thread below (Paul Martin) implied
that
it worked. His code is virtually identical to yours.
Good Luck,
Sincerely,
--
Gary Brown



"RB Smissaert" wrote:

Isn't that just the type definition for a long variable?
In any case I did it like that at one stage and just the same.
I think the trouble is that Excel or VB in general will keep setting the
cursor
back to the original.

RBS


"Gary L Brown" wrote in message
...
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS








RB Smissaert

set cursor with api
 
Before suggesting things to try it might be worth it to try first and see if
it is any good ...

RBS


"Gary L Brown" wrote in message
...
No. Haven't tried it.
After looking at the google again, I did notice another difference in
code.

Try...
SetCursor LoadCursor(0, lCursor)
instead of
SetCursor (LoadCursor(0, IDC_ARROW))

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to ''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Have you tried this?

Option Explicit
Private Const IDC_ARROW = 32512&
Private Declare Function LoadCursor _
Lib "user32" Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As Long

Sub test()

Application.Cursor = xlWait

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

As you can see (with me anyhow), the cursor stays hourglass.


RBS

"Gary L Brown" wrote in message
...
All I can say is that the guy in the thread below (Paul Martin) implied
that
it worked. His code is virtually identical to yours.
Good Luck,
Sincerely,
--
Gary Brown



"RB Smissaert" wrote:

Isn't that just the type definition for a long variable?
In any case I did it like that at one stage and just the same.
I think the trouble is that Excel or VB in general will keep setting
the
cursor
back to the original.

RBS


"Gary L Brown" wrote in message
...
I found a google at...
http://groups.google.com/group/micro...6102c2ae 7954

that seems to indicate that you should change
Private Const IDC_ARROW As Long = 32512
to
Private Const IDC_ARROW As Long = 32512&

HTH,
--
Gary Brown

If this post was helpful, please click the ''Yes'' button next to
''Was
this
Post Helpfull to you?''.


"RB Smissaert" wrote:

Need to set the cursor in Excel with the API, so tried this:

Option Explicit
Private Const IDC_ARROW As Long = 32512
Private Declare Function LoadCursor _
Lib "user32" _
Alias "LoadCursorA" _
(ByVal hInstance As Long, _
ByVal lpCursorName As Long) As Long
Private Declare Function SetCursor _
Lib "user32" (ByVal hCursor As Long) As
Long

Sub test()

Application.Cursor = xlWait 'just to test it alters the cursor

SetCursor (LoadCursor(0, IDC_ARROW))

End Sub

However nil happens, although there is no error.
Any suggestions how this could be done?


RBS










All times are GMT +1. The time now is 12:07 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com