# include“ltivw.h”
L_LTIVW_APIL_INTl_discontaineranntorgn (hCellWnd, nSubCellIndex, uCombineMode, bDeleteAnn, uFlags)
将特定单元格或子单元格内的选定注释对象转换为区域,该区域将被设置或与另一个现有区域合并。
窗口的句柄,表示将在其上应用函数效果的单元格。
图像列表的从零开始的索引,附加到nCellIndex中指定的单元格。此图像包含用户选择转换为区域的注释对象。传递-1将此效果应用于所有子单元格。传递-2将此效果应用于所选的子单元格。
值,该值指定应用于现有位图区域的操作(如果已定义位图区域的话)。有关可能值的描述,请参见在图像查看器中创建位图区域.
标志,指示在将注释对象转换为区域后是否删除注释对象。可能取值为:
价值 | 意义 |
---|---|
真正的 | 在完成处理后删除注释对象。 |
假 | 处理完成后,请勿删除注释对象。 |
保留以备将来使用。通过0。
价值 | 意义 |
---|---|
成功 | 活动很成功。 |
< 1 | 发生错误。指返回代码. |
选定的子单元格或单元格必须具有选定的注释,以便将其转换为区域。如果没有选中注释,函数将返回ERROR_INV_PARAMETER。
此函数仅适用于封闭形状注释对象,如矩形、椭圆和Hilite。
如果你有一个只有一张图片的单元格,你必须将nSubCellIndex设为0。
必需的dll和库
这个函数反转位图中的一个区域,我们假设我们有一个单元格,并且在它上面有一个选定的矩形或椭圆注释。
L_INT discontaineranntorgnexample (hdiscontainer hCon)
{
BITMAPHANDLE位图;
L_INT nRet;
L_INT nCellIndex = 0;
HWND hCellWnd = l_discontainergetcellwindowhandle (hCon, nCellIndex, 0);
nRet = l_discontaineranntorgn (hCellWnd, -2, L_RGN_SET, TRUE, 0);
如果(nRet != SUCCESS)
返回nRet;
//在激活的子单元格上应用效果。
//通过将nSubCell参数设置为-2来实现。
nRet = l_discontainergetbitmaphandle (hCellWnd, -2, &Bitmap, 0);
如果(nRet != SUCCESS)
返回nRet;
nRet = L_InvertBitmap(&Bitmap, 0);
如果(nRet != SUCCESS)
返回nRet;
nRet = l_discontainersetbitmaphandle (hCellWnd, -2, &Bitmap, FALSE, 0);
如果(nRet != SUCCESS)
返回nRet;
//在用户完成更改后重新绘制单元格。
nRet = l_discontainerrepaintcell (hCellWnd, 0);
如果(nRet != SUCCESS)
返回nRet;
返回成功;
}