该接口提供显示控件功能。 更多...
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 | SaveSceneToImage (IDispatch *image, double zoomX, double zoomY) |
| int | SaveViewToFile (BSTR filename, int tlx, int tly, int w, int h, double zoomX, double zoomY) |
| int | SaveViewToImage (IDispatch *image, int tlx, int tly, int w, int h, double zoomX, double zoomY) |
| int | SaveWindowToFile (BSTR filename) |
| int | SaveWindowToImage (IDispatch *image) |
| 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 类型。 |