NotateXpress v8 ActiveX COM 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? |
Q1: How do I connect the ImagXpress and NotateXpress controls? |
| If you are in Visual Basic, set NotateXpress's Client property to the name of the ImagXpress control. If you are in another development environment call NotateXpress's 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). 3. Call the ElementAppend method. 4. Manipulate the object via the handle returned from the ElementCreate method. 5. Destroy via the ElementDestroy method the programmable object template if you are not going to reuse it to eliminate the possibility of memory leaks. |
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. 2. In NotateXpress's CurrentLayerChange event, set this variable to the layer value passed in the event. |
Q5: How do I make annotations permanent? |
| Call the NotateXpress Brand method and specify the desired bit depth as the parameter. |
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 strongly worded tooltip for the pointer arrow is a good measure. |
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). 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 8 ActiveX instructions. Please refer to: http://www.jpg.com/imagxpress8faq.htm#Q4. |
Q9: What DLL's do I need to distribute with my application? |
| PegasusImaging.ActiveX.NotateXpress8.dll If you are using the NotateXpress COM component, it needs to be registered after it is installed. Make sure that your installation program registers the PegasusImaging.ActiveX.NotateXpress8.dll before you run your application. |
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 here in Q2. |



