L_VecDlgNewObject

#include "lvdlg.h"

L_LVDLG_API L_INT L_VecDlgNewObject(hWnd, pVector, pLayer, nType, pObjectDesc, pObject, dwFlags, pfnCallback, pUserData)

HWND hWnd;

/* window handle */

pVECTORHANDLE pVector;

/* pointer to a vector handle */

const pVECTORLAYER pLayer;

/* pointer to a vector layer */

L_INT nType;

/* object type */

L_VOID * pObjectDesc;

/* pointer to a structure */

pVECTOROBJECT pObject;

/* pointer to the new vector object */

L_UINT32 dwFlags;

/* user interface flags for dialog */

LVCOMMDLGHELPCB pfnCallback;

/* pointer to a help callback function */

L_VOID * pUserData;

/* pointer to more parameters for the callback */

Brings up the New Object dialog. This function is available in the LEADTOOLS Vector Imaging Pro Toolkit.

Parameter

Description

hWnd

Handle of the window that owns the dialog.

pVector

Pointer to the destination vector handle.

pLayer

Pointer to the destination vector layer. If this parameter is NULL, the object will be added to the current active layer of the specified vector handle.

nType

Object type. Possible values are:

 

Value

Meaning

 

VECTOR_ARC

Arc.

 

VECTOR_CIRCLE

Circle.

 

VECTOR_CHORD

Chord.

 

VECTOR_CLONE

Clone object of a vector group.

 

VECTOR_ELLIPSE

Ellipse.

 

VECTOR_ELLIPTICALARC

Elliptical arc.

 

VECTOR_LINE

Line.

 

VECTOR_PIE

Pie section.

 

VECTOR_POLYBEZIER

Poly Bezier curve.

 

VECTOR_POLYDRAW

Polydraw.

 

VECTOR_POLYGON

Polygon.

 

VECTOR_POLYLINE

Polyline.

 

VECTOR_RASTER

Raster.

 

VECTOR_RECTANGLE

Rectangle.

 

VECTOR_STOCK

Stock object from a stock library.

 

VECTOR_TEXT

Text.

 

VECTOR_VERTEX

3D vertex in space.

pObjectDesc

Pointer to a structure that contains object information about the object to add. The values present in the structure when the function is called are used to initialize the dialog. If this parameter is NULL when the function is called, default values will be used to initialize the dialog. When this function returns, if this parameter is not NULL, the structure will be updated with the values entered through the dialog.

pObject

Pointer to a VECTOROBJECT structure to be updated with the object information of the newly added object.

dwFlags

User interface flags for dialog. Determines the layout and action of the dialog.

 

Value

Meaning

 

VECTOR_DLG_AUTO_PROCESS

[0x80000000] Process the vector on OK.

 

VECTOR_DLG_ENABLE_HELPBUTTON

[0x00000002] Enable Help button.

pfnCallback

Pointer to an optional help callback function.

 

image\sqrblit.gif If you do not wish to provide help to this dialog, use NULL as the value of this parameter.

 

image\sqrblit.gif To provide help to this dialog, use the function pointer as the value of this parameter.

 

image\sqrblit.gif The callback function must adhere to the prototype described in LVCOMMDLGHELPCB.

pUserData

Void pointer that you can use to pass one or more additional parameters that the callback function needs.

 

To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure.

 

If the additional parameters are not needed, you can pass NULL in this parameter.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Required DLLs and Libraries

LVDLG

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

L_VecDlgEditObject.

Example

This example will add a new line object to the active layer of the given vector handle.

L_INT VecDlgNewObjectExample(
   HWND hWnd,
   pVECTORHANDLE pVector)
{
   L_INT nRet;
   nRet = L_VecDlgNewObject(
      hWnd,
      pVector,
      NULL,
      VECTOR_LINE,
      NULL,
      NULL,
      VECTOR_DLG_AUTO_PROCESS,
      NULL,
      NULL);
   return nRet;
}