Hi everyone. Looking for a little help. I'm re-developing some VBA Macros into an ArcDesktop AddIn. I have a [Tool] coded that's used to select the point on the map used as the focal point for a report. The function of this works fine, with the user clicking the map to place a graphic on the map, and holding down CTRL+click to actually place and define the point (with graphic).
What I'm trying to do now is finesse the application a little, by changing the mouse pointer (to a custom pointer) when the tool is selected, and this is where I have the problem. First of all, I've tried the mouse pointer source as a PNG, an ICO, and a CUR. The latest attempt involved dropping the color-depth down to 24-bit and I was about to try 1-bit.
Code-wise, I've tried
which has had mixed results, the latest taking the 24-bit pointer and displaying it as 1-bit, but is also non-contextual, so outside the map window the cursor remains.
I've also tried some code with Overriding the cursor property of the tool returning the current handle of the bitmap/icon/cursor:
........
But none of it seems to work correctly. It probably doesn't help that I'm also using OnKeyDown and OnKeyUp to detect the user pressing the CTRL key, changing the mouse pointer to indicate the difference in actions.
Please, any advice greatly welcome.
p.s. If anyone out there is producing PDF's I would advise taking a look at MigraDoc, which I've used in this project to create a document starting with a map, followed by tabular data representing what's on the map.
What I'm trying to do now is finesse the application a little, by changing the mouse pointer (to a custom pointer) when the tool is selected, and this is where I have the problem. First of all, I've tried the mouse pointer source as a PNG, an ICO, and a CUR. The latest attempt involved dropping the color-depth down to 24-bit and I was about to try 1-bit.
Code-wise, I've tried
Code:
Dim curIcon As System.Object = ESRI.ArcGIS.ADF.COMSupport.OLE.GetIPictureDispFromIcon(myIcon)
appCursor.SetCursor(curIcon)
I've also tried some code with Overriding the cursor property of the tool returning the current handle of the bitmap/icon/cursor:
Code:
Dim m_Cursor As New System.Windows.Forms.Cursor(Assembly.GetExecutingAssembly().GetManifestResourceStream(Assembly.GetExecutingAssembly().GetName.Name & ".Marker24b.cur"))
If Not m_Cursor Is Nothing Then
intptrCursor = m_Cursor.Handle
System.Windows.Forms.Application.DoEvents()
End If
........
Code:
Public Overloads ReadOnly Property cursor() As Integer
Get
Return intptrCursor.ToInt32()
End Get
End Property
Please, any advice greatly welcome.
p.s. If anyone out there is producing PDF's I would advise taking a look at MigraDoc, which I've used in this project to create a document starting with a map, followed by tabular data representing what's on the map.