OVERVIEW of 4.0.0 C/C++ SDK  3/27/2001

In addition to brand new calls and routines introduced with this 4.0.0 version of the API, several 'BP' routines have been moved to a different DLL file.
 
VCLINK32.DLL

A C++ project may access the Visual CADD DLLs in one of two ways: implicit or explicit linking.

With implicit linking, the C++ project uses header files (*.h) to provide function prototypes of the external functions and links a LIB file to resolve those external functions into the respective external DLL.  The VCLink32.DLL provides the interface to the Visual CADD DLLs when using implicit linking.

To support implicit linking, the C++ SDK includes the necessary header files, VCLink32.DLL, and two LIB files, VCLinkMS.LIB (for Microsoft C++) and VCLinkBC.LIB (for Borland C++).  These two LIB files are required by most of the Visual CADD code samples available at various websites.  Other samples (the tutorials located on www.visualcadd.org, for example) may use a file named VCLink32.LIB.  If you require the VCLink32.LIB file for any reason, simply make a copy of the VCLinkMS.LIB file and rename it to VCLink32.LIB. Content is exactly the same.

When using implicit linking, the developer is responsible for ensuring that the end-user has the up-to-date VCLink32.DLL when their product is distributed. This DLL ships with Visual CADD and is located in the Programs folder.

With explicit linking, the C++ project uses calls to the Win32 API functions of LoadLibrary, GetProcAddress, and FreeLibrary, to load the Visual CADD DLLs and make explicit calls to the functions contained therein.  Neither VCLink32.DLL nor the LIB files are required for this approach.  However, the source code implementation of the required Win32 API function calls is required.

If a developer wants to use explicit linking, he should download the VCLink32.zip SDK project, which contains the necessary source code implementation (the .cpp files) for explicit linking.  This project also allows the developer to modify or customize VCLink32.DLL if desired.

THE CmdID and DlgID FILES 

The files CmdID.h and DlgID.h define constants used internally by Visual CADD.  Most of these constants are related to the tool ID or dialog ID numbers associated with VCADD tools and dialogs and the resource IDs of dialog controls.  The tool or dialog IDs are returned by various VCADD API functions, such as VCGetToolID, and these constants can be used to identify the values returned.  Also, certain Win32 API functions related to dialogs pass or return dialog control resource IDs, such as GetDlgItem, and these constants can be used to identify the control.

ALERTS.TXT

Alerts.txt is a text file containing function prototypes for all of the developer-defined callback functions required by VCSetAlertAppDllEx.  The file is written in the form of a C++ header file (*.h) which the developer may copy-and-paste into a C++ project to define and customize his own callback functions.  In addition, comment statements in the file make the file readable as a standard readme.txt file and provide descriptions of parameters, return values, how and when they are called by Visual CADD, etc.  Thus, Alerts.txt supplements the information contained in the API Help file.

LISTING OF NEW CALLS

//additions to VCMain32.DLL (vcmain32.h) (formerly in Version 3.0.1 VCLink32.dll only)
VCCreateSymbolFromSelectionBP
VCDigPointBP
VCGetDatumBasePtBP
VCMouseMoveWorldPointBP
VCPaintBP
VCScreenToWorld2DBP
VCSetDatumBasePtBP
VCSetScaleXYBP
VCSetSymScaleBP

//additions to VCMain32.DLL (vcmain32.h)
VCSetMultiLineStyle
VCGetMultiLineStyle
VCGetAlternateRotation
VCSetAlternateRotation
VCGetAtbUseLocalDisplay
VCSetAtbUseLocalDisplay
VCGetAtbLocalDisplay
VCSetAtbLocalDisplay
VCGetAtbLocalLabelDisplay
VCSetAtbLocalLabelDisplay
VCGetAtbGlobalDisplay
VCSetAtbGlobalDisplay
VCGetAtbGlobalLabelDisplay
VCSetAtbGlobalLabelDisplay
VCGetOrthoAdvancedType
VCSetOrthoAdvancedType
VCGetOrthoAdvDivisions
VCSetOrthoAdvDivisions
VCGetOrthoAdvOneAngle
VCSetOrthoAdvOneAngle
VCGetOrthoAdvStepAngle
VCSetOrthoAdvStepAngle
VCGetBasepointPt
VCGetBasepointPtBP
VCSetBasepointPt
VCSetBasepointPtBP
VCMainSetMultiInstance
VCGetVCResourceInstance
VCGetIniName
VCGetMNUPath
VCSetMNUPath
VCGetSTYPath
VCSetSTYPath
VCGetRunningSnapType
VCSetRunningSnapType
VCGetScrollBar
VCSetScrollBar
VCGetUseFastProperties
VCSetUseFastProperties
VCGetAutoForceSave
VCSetAutoForceSave
VCGetAutoForceSaveSecs
VCSetAutoForceSaveSecs
VCGetFontListSorting
VCSetFontListSorting
VCGetSortedFontList
VCGetNumDivisions
VCSetNumDivisions
VCGetDivideBreak
VCSetDivideBreak
VCGetLayerGroupProperties
VCSetLayerGroupProperties
VCGetLayerGroupUseProperties
VCSetLayerGroupUseProperties
VCObjectFind

//additions to VCDlg32.DLL (vcdlg32.h)
VCAddPrintPreset
VCDeletePrintPreset
VCSetCurrentPrintPreset
VCGetCurrentPrintPreset
VCSetPrintPresetDevice
VCGetPrintPresetDevice
VCSetPrintPresetPageWidth
VCGetPrintPresetPageWidth
VCSetPrintPresetPageHeight
VCGetPrintPresetPageHeight
VCSetPrintPresetMarginLeft
VCGetPrintPresetMarginLeft
VCSetPrintPresetMarginBottom
VCGetPrintPresetMarginBottom
VCSetPrintPresetMarginRight
VCGetPrintPresetMarginRight
VCSetPrintPresetMarginTop
VCGetPrintPresetMarginTop
VCSetPrintPresetPrintScale
VCGetPrintPresetPrintScale
VCSetPrintPresetOriginBP
VCGetPrintPresetOriginBP
VCSetPrintPresetOriginX
VCGetPrintPresetOriginX
VCSetPrintPresetOriginY
VCGetPrintPresetOriginY
VCSetPrintPresetPrintView
VCGetPrintPresetPrintView
VCSetPrintPresetLandscape
VCGetPrintPresetLandscape
VCSetPrintPresetCopies
VCGetPrintPresetCopies
VCSetPrintPresetRotation
VCGetPrintPresetRotation
VCSetPrintPresetMetric
VCGetPrintPresetMetric
VCSetPrintPresetFastRedraw
VCGetPrintPresetFastRedraw
VCSetPrintPresetPrintSelected
VCGetPrintPresetPrintSelected
VCSetPrintPresetPrintToFile
VCGetPrintPresetPrintToFile
VCSetPrintPresetDateStamp
VCGetPrintPresetDateStamp
VCSetPrintPresetAllToBlack
VCGetPrintPresetAllToBlack
VCSetPrintPresetLW0HasWidth
VCGetPrintPresetLW0HasWidth
VCSetPrintPresetLineWidth
VCGetPrintPresetLineWidth
VCSetPrintPresetMovePage
VCGetPrintPresetMovePage
VCSetPrintPresetShowPreview
VCGetPrintPresetShowPreview
VCSetPrintPresetPaperSize
VCGetPrintPresetPaperSize
VCSetPrintPresetPaperLength
VCGetPrintPresetPaperLength
VCSetPrintPresetPaperWidth
VCGetPrintPresetPaperWidth
VCSetPrintPresetAlwaysCenter
VCGetPrintPresetAlwaysCenter
VCSetPrintPresetStampFormat
VCGetPrintPresetStampFormat
VCSetPrintPresetStampFontSize
VCGetPrintPresetStampFontSize
VCSetPrintPresetStampLocation
VCGetPrintPresetStampLocation
VCSetPrintPresetStampFont
VCGetPrintPresetStampFont
VCPrintNoDlg

//additions to VCTran32.DLL (VCTran32.h)
VCPlaceMetafileOnClipboard

//additions to VCTool32.DLL (VCTool32.h)
VCGetUserToolSnapable
VCSetUserToolSnapable
VCDivide
