该接口提供显示控件功能。 更多...
Public 成员函数 | |
int | AddInteractableObject (IDispatch *interactable, int drawFlags) |
int | AddObject (IDispatch *drawable, int drawFlags) |
int | AddRegion (IDispatch *region, BOOL interactable) |
void | ClientToImage (int x, int y, double *imageX, double *imageY) |
void | FitInViewObject (IDispatch *object, LPVAlignment alignFlags) |
IDispatch * | GetImage () |
IDispatch * | GetObjectByID (int objectId) |
IDispatch * | GetRegionByID (int regionId) |
void | ImageToClient (double imageX, double imageY, int *x, int *y) |
void | RemoveAllObjects () |
void | RemoveAllRegions () |
void | RemoveImage () |
void | RemoveObject (IDispatch *drawable) |
void | RemoveObjectByID (int objectId) |
void | RemoveRegion (IDispatch *region) |
void | RemoveRegionByID (int regionId) |
void | SetImage (IDispatch *image) |
Public 成员函数 继承自 ILDisplayCommon | |
int | AddReferenceLineH (double position, double relativePosition, BOOL attached, OLE_COLOR clr) |
int | AddReferenceLineV (double position, double relativePosition, BOOL attached, OLE_COLOR clr) |
void | FitInView (int tlx, int tly, int w, int h, LPVAlignment alignFlags) |
void | FitToWindow (LPVAlignment alignFlags) |
void | Refresh () |
void | RefreshImmediate () |
void | RemoveAllReferenceLine () |
void | RemoveReferenceLine (int refLineId) |
int | SaveSceneToFile (BSTR filename, double zoomX, double zoomY) |
int | SaveWindowToFile (BSTR filename) |
void | SetDisplayFlag (LPVDisplayFlags flag, BOOL enable) |
void | SetSize (int w, int h) |
void | ShowDialog (BSTR dialogName, int x, int y, int w, int h) |
void | ShowDialogAsync (BSTR dialogName, int x, int y, int w, int h, int refreshInterval) |
属性 | |
BOOL | KeepAspectRatio [get, set] |
显示控件在缩放时是否保持长宽比 | |
int | PixelUnderMouse [get] |
当前鼠标位置所在像素的值 | |
属性 继承自 ILDisplayCommon | |
LPVAlignment | Alignment [get, set] |
显示控件在缩放整个场景或场景中的一部分到窗口尺寸时,所使用的对齐方式 | |
BOOL | AutoRefreshEnabled [get, set] |
开启或关闭显示控件的自动重渲染。默认打开,即当可绘制对象、区域对象或图像添加和删除时,自动重绘控件。 | |
OLE_COLOR | BackColor [get, set] |
显示控件的背景色 | |
LPVDisplayFlags | DisplayFlags [get, set] |
显示控的显示模式,查看 LPVDisplayFlags | |
BOOL | DrawingEnabled [get, set] |
开启或关闭显示控件的所有显示渲染。通常在需要添加、删除或修改大量显示对象时使用,以暂时停止渲染,在操作完成后一次性绘制。 | |
LPVScrollBarPolicy | HScrollBarPolicy [get, set] |
水平滚动条的行为模式,查看 LPVScrollBarPolicy | |
double | PanX [get, set] |
场景在水平方向的位移。 最终的 x 位置按照该公式计算: \( (x + panX) \times zoomX \) | |
double | PanY [get, set] |
场景在垂直方向的位移。 最终的 y 位置按照该公式计算: \( (y + panY) \times zoomY \) | |
LPVScrollBarPolicy | VScrollBarPolicy [get, set] |
垂直滚动条的行为模式,查看 LPVScrollBarPolicy | |
double | Zoom [set] |
设置场景在水平和垂直方向的缩放比例 | |
LPVZoomAnchor | ZoomAnchor [get, set] |
缩放时场景的移动模式,查看 LPVZoomAnchor | |
double | ZoomX [get, set] |
场景在水平方向的缩放比例 | |
double | ZoomY [get, set] |
场景在垂直方向的缩放比例 | |
该接口提供显示控件功能。
通常可通过 Visual Studio 的工具箱,将显示控件加入到应用程序窗口中。 该接口提供管理显示窗口内场景的功能,用于设置场景中的图像,增加删除场景中的 region、几何形状和算法结果等。
控件事件请查看 ILDisplayEvents 。
注:该接口在 Linux / MacOS 平台暂不可用。
int AddInteractableObject | ( | IDispatch * | interactable, |
int | drawFlags | ||
) |
在场景中新增一个可交互对象。通常是一个几何形状。
[in] | interactable | 可交互对象,应当为实现 ILGeomObject 的几何图元类型, 该类型通常同时实现了 ILDrawable 接口。 |
[in] | drawFlags | 该可绘制对象的绘制参数。 |
objectId | 返回该可绘制对象在场景中的 ID |
int AddObject | ( | IDispatch * | drawable, |
int | drawFlags | ||
) |
在场景中新增一个可绘制对象。通常是一个几何形状,或某些算法的输出结果。
[in] | drawable | 可绘制对象,应当为实现 ILDrawable 的类型,或 LText 类型。 |
[in] | drawFlags | 该可绘制对象的绘制参数。 |
objectId | 返回该可绘制对象在场景中的 ID |
int AddRegion | ( | IDispatch * | region, |
BOOL | interactable | ||
) |
在场景中新增一个区域对象。
[in] | region | 区域对象,应当为 LRegion 类型。 |
[in] | interactable | 该区域对象是否可交互,即使用鼠标拖动控制点以及移动、旋转该对象。默认值为 True。 |
regionId | 返回该区域对象在场景中的 ID |
void ClientToImage | ( | int | x, |
int | y, | ||
double * | imageX, | ||
double * | imageY | ||
) |
转换位置坐标,从显示控件窗口坐标系到图像坐标系
[in] | x | 输入位置的 x 坐标,该坐标相对于显示控件工作区的左上角 |
[in] | y | 输入位置的 y 坐标,该坐标相对于显示控件工作区的左上角 |
[out] | imageX | 输出转换后的 x 坐标,该坐标相对于图像的左上角 |
[out] | imageY | 输出转换后的 y 坐标,该坐标相对于图像的左上角 |
void FitInViewObject | ( | IDispatch * | object, |
LPVAlignment | alignFlags | ||
) |
缩放和平移场景,使得指定对象所在的区域充满整个窗口
[in] | object | 指定需要查看的对象 |
[in] | alignFlags | 对齐方式,若未指定则使用显示控件的 Alignment 属性。 |
IDispatch* GetImage | ( | ) |
获取场景中的图像对象。
image | 返回图像对象 |
IDispatch* GetObjectByID | ( | int | objectId | ) |
获取场景中给定 ID 的可绘制对象
[in] | objectId | 对象在场景中的 ID |
drawable | 返回可绘制对象 |
IDispatch* GetRegionByID | ( | int | regionId | ) |
获取场景中给定 ID 的区域对象
[in] | regionId | 对象在场景中的 ID |
region | 返回区域对象 |
void ImageToClient | ( | double | imageX, |
double | imageY, | ||
int * | x, | ||
int * | y | ||
) |
转换位置坐标,从图像坐标系到显示控件窗口坐标系
[in] | imageX | 输入位置的 x 坐标,该坐标相对于图像的左上角 |
[in] | imageY | 输入位置的 y 坐标,该坐标相对于图像的左上角 |
[out] | x | 输出转换后的 x 坐标,该坐标相对于显示控件工作区的左上角 |
[out] | y | 输出转换后的 y 坐标,该坐标相对于显示控件工作区的左上角 |
void RemoveAllObjects | ( | ) |
移除场景中的所有可绘制对象
void RemoveAllRegions | ( | ) |
移除场景中的所有区域对象
void RemoveImage | ( | ) |
从场景中移除图像,保留当前场景尺寸。
void RemoveObject | ( | IDispatch * | drawable | ) |
从场景中移除指定的可绘制对象。
[in] | drawable | 需要移除的可绘制对象 |
void RemoveObjectByID | ( | int | objectId | ) |
从场景中移除指定 ID 的可绘制对象
[in] | objectId | 对象在场景中的 ID |
void RemoveRegion | ( | IDispatch * | region | ) |
从场景中移除指定的区域对象。
[in] | region | 需要移除的区域对象 |
void RemoveRegionByID | ( | int | regionId | ) |
从场景中移除指定 ID 的区域对象
[in] | regionId | 对象在场景中的 ID |
void SetImage | ( | IDispatch * | image | ) |
设置当前场景的图像,场景尺寸将被设置为该图像的尺寸。
[in] | image | 输入图像,应当为 LImage 类型。 |