NotateXpress v9 ActiveX FAQ |
![]() |
| Q1: How do I connect the ImagXpress and NotateXpress controls? |
| Q2: How do I disconnect the ImagXpress and NotateXpress controls? |
| Q3: How do I create an annotation object programmatically? |
| Q4: How do I keep track of the current layer? |
| Q5: How do I make annotations permanent? |
| Q6: How do I use the Toolbar? |
| Q7: How do I use and modify the Context menu? |
| Q8: How do I distribute my application (in .NET, Delphi, VB etc.)? |
| Q9: What DLL’s do I need to distribute with my application? |
| Q10: I am using the Brand method on the control and seeing an increase in memory. How do I resolve this issue? |
| Q11: Where can I find additional “How To” type sample code that demonstrates the usage of the control? |
Q1: How do I connect the ImagXpress and NotateXpress controls? |
| If you are in Visual Basic, set the NotateXpress Client property to the name of the ImagXpress control. If you are in another development environment call the NotateXpress SetClientWindow method, passing the window handle of the ImagXpress control via the Hwnd property on the ImagXpress control. If you are using NotateXpress by reference in Visual Basic, you will need to call the SetClientWindow method. If neither of these methods are available, use the InterFaceConnect method. |
Q2: How do I disconnect the ImagXpress and NotateXpress controls? |
| If you connected using the Client property, set the Client property to a null string. If you connected with a call to SetClientWindow, call it again with null. If you used the SetClientWindow method, call the InterfaceDisconnect method. Also, set the ImagXpress FileName property = “ “. |
Q3: How do I create an annotation object programmatically? |
| 1. Create a programmable object template using the ElementCreate method. Set attributes of this template to specify object characteristics (see Programmable Element Attributes in the NotateXpress helpfile). For example: Please Note: You must register the PegasusImaging.ActiveX.SmartZone2.dll either via your installation program or manually via the regsvr32.exe utility. 2. Call the ElementAppend method. For example: NotateXpress1.ElementAppend e 3. Destroy via the ElementDestroy method the programmable object template if you are not going to reuse it to eliminate the possibility of memory leaks. For example: NotateXpress1.ElementDestroy e |
Q4: How do I keep track of the current layer? |
| Although you can always check NotateXpress’s CurrentLayer property, here is an easy way to keep track of the current layer: 1. Declare your own current layer variable. For example, Dim currLayer As Long currLayer = NotateXpress1.CreateLayer 2. In NotateXpress’s CurrentLayerChange event, set this variable to the layer value passed in the event. For example, currLayer = newLayer |
Q5: How do I make annotations permanent? |
| Call the NotateXpress Brand method and specify the desired bit depth as the parameter. For example: NotateXpress1.Brand 24 |
Q6: How do I use the Toolbar? |
| 1. Make sure ToolBarActivated property is True (True is the default). 2. Make sure you have created a layer via the CreateLayer method. 3. Call the ToolBarSetVisible method for that level. It is common to have NotateXpress’ toolbar visible while ImagXpress’ toolbar is also visible. If ImagXpress’ toolbar is currently set to a tool other than the pointer (Tool_none) the NotateXpress toolbar tools will not activate. Inform the user to set the ImagXpress tool to the pointer to be able to use the NotateXpress toolbar. A well worded tooltip for the pointer arrow is a good measure.3) Please send the log and image file in question to support@accusoft.com and we can take a look at it. |
Q7: How do I use and modify the Context menu? |
| To enable the built-in Context menu set the MenuSetEnabled property to True (the default is False). For example, ImagXpress1.MenuSetEnabled Menu_Context, TOOL_None, True If you want to modify the strings that are displayed on the context menu, call MenuChangeItem. To remove an item call MenuDeleteItem. To determine what items are available on the Context menu, use MenuGetFirstItemID and MenuGetNextItemID to iterate through the available context menu items calling MenuGetItem with the various IDs. To add additional user-defined items to the Context menu, use MenuAddItem. |
Q8: How do I distribute my application (in .NET, Delphi, VB etc.)? |
| PLEASE NOTE: NotateXpress is unlocked using the ImagXpress 9 ActiveX instructions. Please refer to: http://www.accusoft.com/imagxpress9faq.htm#Q2 |
Q9: What DLL’s do I need to distribute with my application? |
| PegasusImaging.ActiveX.NotateXpress9.dll Please note, the PegasusImaging.ActiveX.NotateXpress9.dll must be registered on the target system using the regsvr32.exe command. For example: regsvr32.exe PegasusImaging.ActiveX.NotateXpress9.dll. |
Q10: I am using the Brand method on the control and seeing an increase in memory. How do I resolve this issue? |
| Set the ImagXpress OwnDIB property = True. This will allow the memory to be managed properly between the ImagXpress and NotateXpress controls. Also, please be sure to disconnect the ImagXpress and NotateXpress controls as described in Q2(see above). |
Q11: Where can I find additional “How To” type sample code that demonstrates the usage of the control? |
| Please refer to the “How To” section in the Contents section of the appropriate help file (.NET or ActiveX) for sample code showing the use of the control. |



