<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: in ObjectARX Forum</title>
    <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328741#M42081</link>
    <description>&lt;DIV&gt;&lt;FONT size="2"&gt;Like you, I was trying to change the cursor shape and I found &lt;BR /&gt;
this in VS6 help|SetCursor():&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;If your application must set the cursor while it is in a &lt;BR /&gt;
window, make sure the class cursor for the specified window's class is set to &lt;BR /&gt;
NULL. &lt;U&gt;If the class cursor is not NULL, the system restores the class cursor &lt;BR /&gt;
each time the mouse is moved. &lt;/U&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;I didn't try it yet.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;alex&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="mailto:alexb@actcom.co.il"&amp;gt;alexb@actcom.co.il&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
    <pubDate>Sat, 18 Jan 2003 19:01:31 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2003-01-18T19:01:31Z</dc:date>
    <item>
      <title>Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328738#M42078</link>
      <description>This is really driving me insane.  I can disable the AutoCAD cursor by&lt;BR /&gt;
simply using a call like this (from the article "Input Point Filter and&lt;BR /&gt;
Monitor Example" in the Developer's Guide):&lt;BR /&gt;
&lt;BR /&gt;
curDoc()-&amp;gt;inputPointManager()-&amp;gt;disableSystemCursorGraphics();&lt;BR /&gt;
&lt;BR /&gt;
That's nice, but now i don't know how to actually enable a new, custom&lt;BR /&gt;
cursor.  There's lots of places in the developer guide where it talks about&lt;BR /&gt;
the fact that it is POSSIBLE to add a custom cursor, but i can't find any&lt;BR /&gt;
documentation on HOW to actually do this.  Some of my commands would make a&lt;BR /&gt;
LOT more sense if i could change the cursor.  Can anyone tell me how to&lt;BR /&gt;
display a custom cursor, or even point me in the right direction?  None of&lt;BR /&gt;
the examples that come with the ObjectARX SDK have anything about enabling a&lt;BR /&gt;
new cursor.  Even the example that has this line above just disables it and&lt;BR /&gt;
doesn't do anything!  Help!</description>
      <pubDate>Sun, 03 Mar 2002 15:30:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328738#M42078</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2002-03-03T15:30:26Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328739#M42079</link>
      <description>Well, i've decided that i'm just going to manually draw a cursor using the&lt;BR /&gt;
Point Monitor and AutoCAD's AcGiViewportDraw-&amp;gt;draw( ) function.  This sorta&lt;BR /&gt;
(edited), since i have to manually figure out the size of the window, then&lt;BR /&gt;
adjust the size of my faked out cursor, but at least it will work&lt;BR /&gt;
temporarily...</description>
      <pubDate>Wed, 06 Mar 2002 13:49:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328739#M42079</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2002-03-06T13:49:06Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328740#M42080</link>
      <description>OK, i think i found another way to do this that's a little closer to the&lt;BR /&gt;
functionality i would expect, and i thought i'd share.&lt;BR /&gt;
&lt;BR /&gt;
If you disable the cursor graphics by using&lt;BR /&gt;
curDoc()-&amp;gt;inputPointManager()-&amp;gt;disableSystemCursorGraphics(), i figured you&lt;BR /&gt;
should just be able to use SetCursor( ) to provide your own cursor.  When i&lt;BR /&gt;
originally tried this, however, it didn't work.  I found out (sorta) why.&lt;BR /&gt;
It actually DOES change the cursor, but only until the cursor moves.  Then&lt;BR /&gt;
it goes back to being blank, thanks to the disableSystemCursorGraphics.&lt;BR /&gt;
Since it only disappears when the cursor moves, i thought about the&lt;BR /&gt;
AcEdInputPointMonitor and Filter - both of those functions are called&lt;BR /&gt;
anytime the cursor is moved.  So, my solution was to put a SetCursor( ) call&lt;BR /&gt;
in my point monitor (or in the filter).  This way the cursor gets set&lt;BR /&gt;
anytime the user moves the mouse, and this seems to work.  I kinda figure&lt;BR /&gt;
this has got to be a work-around though, and it seems that calling that&lt;BR /&gt;
SetCursor function all the time is sorta inefficient - but hey, it works...</description>
      <pubDate>Wed, 06 Mar 2002 16:10:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328740#M42080</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2002-03-06T16:10:14Z</dc:date>
    </item>
    <item>
      <title>Re:</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328741#M42081</link>
      <description>&lt;DIV&gt;&lt;FONT size="2"&gt;Like you, I was trying to change the cursor shape and I found &lt;BR /&gt;
this in VS6 help|SetCursor():&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;If your application must set the cursor while it is in a &lt;BR /&gt;
window, make sure the class cursor for the specified window's class is set to &lt;BR /&gt;
NULL. &lt;U&gt;If the class cursor is not NULL, the system restores the class cursor &lt;BR /&gt;
each time the mouse is moved. &lt;/U&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;I didn't try it yet.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;alex&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="mailto:alexb@actcom.co.il"&amp;gt;alexb@actcom.co.il&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 18 Jan 2003 19:01:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328741#M42081</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2003-01-18T19:01:31Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328742#M42082</link>
      <description>Hi Justavian,&lt;BR /&gt;
&lt;BR /&gt;
I been going around here in the discussion group for weeks now for the same task you looking for. Changing the autocad cursor image.&lt;BR /&gt;
&lt;BR /&gt;
Can you please give me some of your tips or sample code to begin with.&lt;BR /&gt;
&lt;BR /&gt;
Thaks in Advance&lt;BR /&gt;
Ajustin</description>
      <pubDate>Thu, 04 Aug 2005 08:58:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328742#M42082</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-04T08:58:16Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328743#M42083</link>
      <description>To change the cursor, you need to first disable the standard crosshairs - &lt;BR /&gt;
then you can set it to what you like.&lt;BR /&gt;
&lt;BR /&gt;
There are two types of cursors you can set it to.  The first is a cursor &lt;BR /&gt;
that is drawn using AutoCAD primitives.  This can be done using either &lt;BR /&gt;
AcEdInputPointMonitor::monitorInputPoint( ) or &lt;BR /&gt;
AcEdInputPointFilter::processInputPoint( ) (that's the easiest way, though &lt;BR /&gt;
there are other things you could do).  Those two functions pass in &lt;BR /&gt;
AcGiViewportDraw pointer, which you can then use to draw whatever type of &lt;BR /&gt;
AutoCAD cursor you want.&lt;BR /&gt;
&lt;BR /&gt;
The other option is to just use a standard windows cursor.  To do this, you &lt;BR /&gt;
need to register a hook to catch all the WM_MOUSEMOVE messages.  Then call &lt;BR /&gt;
setcursor to force it to use your windows cursor.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
So, in summary:&lt;BR /&gt;
1)    Call curDoc()-&amp;gt;inputPointManager()-&amp;gt;disableSystemCursorGraphics() to &lt;BR /&gt;
tell AutoCAD to stop drawing the cross hairs.&lt;BR /&gt;
2a)    If you want an AutoCAD entity type cursor, derive from &lt;BR /&gt;
AcEdInputPointMonitor, and implement monitorInputPoint.  Using the &lt;BR /&gt;
AcGiViewportDraw, draw the cursor.&lt;BR /&gt;
2b)    To use a normal cursor, register a hook function with &lt;BR /&gt;
acedRegisterFilterWinMsg.  Catch all the WM_MOUSEMOVE, and simply call &lt;BR /&gt;
::SetCursor() as you would in any Windows app.&lt;BR /&gt;
3)    When you're done, don't forget to turn the AutoCAD cursor back on &lt;BR /&gt;
curDoc()-&amp;gt;inputPointManager()-&amp;gt;enableSystemCursorGraphics()&lt;BR /&gt;
&lt;BR /&gt;
If you have problems implementing it, let me know...&lt;BR /&gt;
&lt;BR /&gt;
-Rich&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;AJUSTIN&gt; wrote in message news:4919345@discussion.autodesk.com...&lt;BR /&gt;
Hi Justavian,&lt;BR /&gt;
&lt;BR /&gt;
I been going around here in the discussion group for weeks now for the same &lt;BR /&gt;
task you looking for. Changing the autocad cursor image.&lt;BR /&gt;
&lt;BR /&gt;
Can you please give me some of your tips or sample code to begin with.&lt;BR /&gt;
&lt;BR /&gt;
Thaks in Advance&lt;BR /&gt;
Ajustin&lt;/AJUSTIN&gt;</description>
      <pubDate>Fri, 05 Aug 2005 00:47:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/328743#M42083</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-05T00:47:28Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/13994282#M44195</link>
      <description>&lt;P&gt;static HHOOK MyHook;&lt;BR /&gt;static HCURSOR hWaitCursor;&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;static LRESULT CALLBACK MyMsgProc(int nCode, WPARAM wParam, LPARAM lParam);&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;// This is command 'WAITCURSOR, by Fenton Webb [14/10/2004], DevTech, Autodesk&lt;BR /&gt;void asdkWaitCursor()&lt;BR /&gt;{&lt;BR /&gt;// load the Wait cursor&lt;BR /&gt;hWaitCursor = LoadCursor(NULL, IDC_WAIT);&lt;BR /&gt;// and set it&lt;BR /&gt;HCURSOR hCursor = SetCursor(hWaitCursor);&lt;/P&gt;&lt;P&gt;// now set a hook so we can constantly keep our cursor set&lt;BR /&gt;MyHook = SetWindowsHookEx(WH_CALLWNDPROCRET, (HOOKPROC)MyMsgProc, (HINSTANCE)&lt;BR /&gt;NULL, GetCurrentThreadId());&lt;BR /&gt;// now do the wait intensive task...&lt;BR /&gt;// ACHAR cResult[256];&lt;BR /&gt;// acedGetString(0, _T("\nPretending to wait : "), cResult);&lt;/P&gt;&lt;P&gt;// and finally clean up&lt;BR /&gt;// UnhookWindowsHookEx(MyHook);&lt;/P&gt;&lt;P&gt;// SetCursor(hCursor);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void asdkWaitCursoroff() {&lt;BR /&gt;UnhookWindowsHookEx(MyHook);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;LRESULT CALLBACK MyMsgProc(int nCode, WPARAM wParam, LPARAM lParam) {&lt;BR /&gt;// forward the other hook calls&lt;BR /&gt;if (nCode &amp;lt; 0)&lt;BR /&gt;return (CallNextHookEx(MyHook, nCode, wParam, lParam));&lt;/P&gt;&lt;P&gt;LRESULT ret = CallNextHookEx(MyHook, nCode, wParam, lParam);&lt;/P&gt;&lt;P&gt;// keep updating our cursor type&lt;BR /&gt;SetCursor(hWaitCursor);&lt;BR /&gt;return (ret);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;acedRegCmds-&amp;gt;addCommand(L"mkr", L"asdkWaitCursor", L"asdkWaitCursor",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ACRX_CMD_TRANSPARENT, asdkWaitCursor);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;acedRegCmds-&amp;gt;addCommand(L"mkr", L"asdkWaitCursoroff", L"asdkWaitCursoroff",&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ACRX_CMD_TRANSPARENT, asdkWaitCursoroff);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jan 2026 15:49:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/13994282#M44195</guid>
      <dc:creator>yang8570</dc:creator>
      <dc:date>2026-01-28T15:49:31Z</dc:date>
    </item>
    <item>
      <title>Re: Cursors (again) HELP!</title>
      <link>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/13994287#M44196</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------this is original----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;06/08/2012&lt;BR /&gt;Setting the Wait Cursor type using ObjectARX and Win32&lt;BR /&gt;by Fenton Webb&lt;BR /&gt;Sometimes, you want to tell the user that your application is busy and what better way to do that then with an Hour&lt;BR /&gt;Glass wait cursor… Obviously, you can create your own custom cursor and display it using the same technique…&lt;BR /&gt;Here’s how:&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;static HHOOK MyHook;&lt;BR /&gt;static HCURSOR hWaitCursor;&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;static LRESULT CALLBACK MyMsgProc (int nCode, WPARAM wParam, LPARAM lParam);&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;// This is command 'WAITCURSOR, by Fenton Webb [14/10/2004], DevTech, Autodesk&lt;BR /&gt;void asdkWaitCursor()&lt;BR /&gt;{&lt;BR /&gt;// load the Wait cursor&lt;BR /&gt;hWaitCursor = LoadCursor(NULL, IDC_WAIT);&lt;BR /&gt;// and set it&lt;BR /&gt;HCURSOR hCursor = SetCursor(hWaitCursor);&lt;BR /&gt;&lt;BR /&gt;// now set a hook so we can constantly keep our cursor set&lt;BR /&gt;MyHook = SetWindowsHookEx(WH_CALLWNDPROCRET, (HOOKPROC)MyMsgProc, (HINSTANCE)&lt;BR /&gt;NULL, GetCurrentThreadId ());&lt;BR /&gt;// now do the wait intensive task...&lt;BR /&gt;ACHAR cResult [256];&lt;BR /&gt;acedGetString (0, _T("\nPretending to wait : "), cResult);&lt;BR /&gt;&lt;BR /&gt;// and finally clean up&lt;BR /&gt;UnhookWindowsHookEx (MyHook) ;&lt;BR /&gt;&lt;BR /&gt;SetCursor (hCursor) ;&lt;BR /&gt;}&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////&lt;BR /&gt;LRESULT CALLBACK MyMsgProc (int nCode, WPARAM wParam, LPARAM lParam)&lt;BR /&gt;{&lt;BR /&gt;// forward the other hook calls&lt;BR /&gt;if ( nCode &amp;lt; 0 )&lt;BR /&gt;return (CallNextHookEx(MyHook, nCode, wParam, lParam));&lt;BR /&gt;&lt;BR /&gt;LRESULT ret = CallNextHookEx(MyHook, nCode, wParam, lParam);&lt;BR /&gt;&lt;BR /&gt;// keep updating our cursor type&lt;BR /&gt;SetCursor (hWaitCursor);&lt;BR /&gt;&lt;BR /&gt;return (ret) ;&lt;BR /&gt;}&lt;BR /&gt;Posted at 04:13 PM in 2010, 2011, 2012, 2013, AutoCAD, Fenton Webb, ObjectARX | Permalink | Comments (4)&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jan 2026 15:51:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/objectarx-forum/cursors-again-help/m-p/13994287#M44196</guid>
      <dc:creator>yang8570</dc:creator>
      <dc:date>2026-01-28T15:51:32Z</dc:date>
    </item>
  </channel>
</rss>

