This drawable object example inherits from IDLgrWindow and creates a histogram plot for a selected monochrome or RGB image file. While this example does contain several custom methods including those for opening a file, creating the plots, and changing plot characteristics, it does not use keyboard or mouse events. See COM IDLitWindow Surface Manipulation for such an example.

Example Code


The object definition file, export_grwindow_doc define.pro is located in the examples/doc/bridges subdirectory of the IDL distribution. Run the example procedure by entering export_grwindow_doc__define at the IDL command prompt or view the file in an IDL Editor window by entering:

.EDIT export_grwindow_doc define.pro

Complete the following steps to duplicate this example.

  1. In an IDL Editor window, open the object definition file by entering the following at the command prompt:
    .EDIT export_grwindow_doc define.pro

    It is a good idea to test the functionality of an object before exporting it. After compiling the file, enter the following lines at the command line and make sure the output is what is expected for this object.
    oPlotWindow = OBJ_NEW("export_grwindow_doc")
    oPlotWindow->CHANGELINE, 2
    This will display a three channel histogram plot and change the plot linestyle to dashed.

  2. Open the Export Bridge Assistant by entering IDLEXBR_ASSISTANT at the command line.
  3. Select to create a COM export object by selecting File > New Project > COM and browse to select export_grwindow_doc define.pro. Click Open to load the file into the Export Assistant.
  4. Export Bridge Assistant details are available in Specifying Information for Exporting. Refer to that section if you need more information about the following items.

  5. Set export object characteristics as described in the following table. When you select the tree view item listed in the left column, configure the related properties as noted in the right column.
  6. Set the Export parameter to True for all items in this list unless otherwise noted.

    Tip: You can select multiple items in the tree view and set properties for the group.

    Tree View Item Property Configuration
    IDL Export Bridge Project

    Accept the default value or make changes as desired:

    • Output classname
    • Process name
    • Output directory
    export_grwindow_doc Drawable object equals True

    OMODEL, OVIEW, OXAXIS, OXTEXT, OYAXIS, OYTEXT property

    Type: IUnknown*

    Array: False

    OPLOTCOLL property

    Type: IUnknown*

    Array: True

    SFILE property

    Type: BSTR

    Array: False

    CHANGELINE method

    Enter different name if desired and mark

    Export as True

    STYLE argument

    Mutability: In

    Type: Short

    Array: False

    CREATEPLOTS method

    Enter different name if desired and mark

    Export as True

    IMAGE, VROWS, VCOLS argument

    Mutability: In

    Type: Variant

    Array: True

    Convert majority: False

    VRGB argument

    Mutability: In

    Type: short

    Array: False

    OPEN method

    Enter different name if desired and mark

    Export as True

    SFILE argument

    Mutability: In

    Type: BSTR

    Array: False

    Note: You can choose not to export this parameter. If so, the method follows the path for cases where no argument is defined. (You will need to modify the Visual Basic code to read Me.Axexport_grwindow_doc1.OPEN() instead of passing an argument.) If you do choose to export this method, the argument must either be a null string or a full file path.

  7. Save the project by selecting File > Save project. Accept the default name and location or make changes as desired.
  8. Verify that the object elements you want to export are listed in the Export log panel. If the expected items are not present, one or more items may still have an UNSPECIFIED field value that must be changed.
  9. Build the export object by selecting Build > Build object. The Build log panel shows the results of the build process. For a drawable object, .tlb and .ocx files (named based on the object name) are created in the Output directory.
  10. Register the .ocx using regsvr32 export_grwindow_doc.ocx. See COM Registration Requirements for details if needed.
  11. Create a new Visual Basic .NET Windows Application and add the export_grwindow_doc Class file to the toolbox. Select View > Toolbox and select the desired tab. Right-click and select Add/Remove Items. Click on the COM Components tab, place a checkmark next to the class file and click OK.
  12. Add the IDL export_grwindow_doc control to your form.
  13. Replace the default form code with the text in the file referenced below. See code comments for details.

Note: The text file for this example, com_export_grwindow_doc.txt, is located in the examples/doc/bridges/COM subdirectory of the IDL distribution. This Visual Basic .NET code can be copied from the text file and adopted for use in your COM environment.

After building and running the project, a Windows application interface will display a histogram plot of an RGB image. You can change the linestyle of the plot by making a selection from the listbox. You can also create a histogram plot for a new image by clicking the button.