Now Available!

Native .Net
Components

TList WinForms
for
.Net Framework

&

MetaDraw WinForms
for
.Net Framework



Bennet-Tec
Components
Make you
look sharp!



Home

Company

Products

Order Forms

How To

Downloads

Updates

Support

Registration

Dependencies

Links

Compatibility

Site Map


MetaDraw


Diagram Arrange License Option

Overview:

BT Diagram Arrange DLL provides support for automating the intelligent layout of diagrams within

The Object Arrange library function intelligently rearranges graphic elements of a diagram in such a way as to minimize overlapping links and to lay out the diagram in an "organized" fashion. Graphic objects which are not linked may also be layed out in a rectangular grid fashion using this function.

For Example,
Before Diagram Arrange After Diagram Arrange

Note - The Diagram Arrange library algorithm is proprietary to Bennet-Tec. The arrange functionality may be tested within HSEditor prior to purchase of this license option - if it seems reasonable to your applications, then you may wish to purchase this license option - be aware however that each image may result in different Arrangements, that such arrangements are the result of proprietary calculations and are not subject to negotiation or standards of what might be better or worse. Bennet-Tec does not guarentee that our "optimized" layouts will fit with your application's definition of an optimized layout. If you are interested in modified arrangements Bennet-Tec can take on sponsored (paid) development projects to tune the layout optimization algorithm to your needs.

Requirements:

Development use of the Diagram Arrange functionality requires purchase of both the MetaDraw 3 license and the optional Diagram Arrange license for MetaDraw 3.

When distributing an application using the Vectorization features both the MetaDraw 3 control (MDRAW30.OCX) and the BT Vectorization DLL (BTOA.DLL) must be installed on the end-user machine. No end-user licensing is required.

Technical Details:

The functionality of Diagram Arrange is provided through a single easy to use method call, ArrangeObjects.

Declaration:

Function ArrangeObjects (OBJHANDLE As Long, _
Left As Long, Top As Long, Right As Long, Bottom As Long, _
MinX As Long, MinY As Long, Mode As Integer, [nParam]) _
As Long

Syntax

Return_Code = MDraw.ArrangeObjects ( _
OBJ_CONTAINER, _
TargetLeft, TargetTop, _
TargetRight, TargetBottom, _
MinX, MinY, Mode, 0 )

This function repositions objects within a diagram according to mode specified by the Mode parameter. The function returns the number of object that have been moved, or -1 in case of errors.

Parameters:

ObjHandle - a MetaDraw handle identifying the container holding the objects which should be arranged. The following values are supported:

OBJ_CONTAINER - current open container
OBJ_SELECTED - only selected object inside current open container
OBJ_CONT_MAIN - Objects in main container.

NOTE: Only objects inside the specified container will be arranged. All embedded containers are single objects.

left, top, right, bottom - parameters defining the bounding rectangle in which the objects will should be arranged (in global logical units).

MinX, MinY - Determines minimum desired distance between objects in horizontal/vertical direction.

Mode - Determines the arrangement mode.

Possible values are:

-1 - Rectangular Arrangement - Arrange objects independently of any links between them. All objects are represented by their bounding rectangle. Objects will be moved to minimize overlapping of their bounding rectangles.

0 - UnBound Link Arrangement - Arranges objects according to the links between them. MetaDraw will attempt to move objects to avoid link intersections ( so links do not cross over each other) and to avoid overlap of objects' bounding rectangles. This is performed in an UnBound mode - meaning that objects will be moved over all possible area within MetaDraw image ignoring the and right, bottom parameters of the function call.

1 - Bound Link Arrangement - The same as previous mode (0) but objects will be moved inside the specified rectangular area.

nParam - valid when Mode = -1 only. This parameter determines different style of rectangles location. Possible values: 0 - 100.


Copyright© 2003 Bennet-Tec Information Systems, Inc. All rights reserved.