二十三(四)ObjectsDeleteAll全删物件

ObjectsDeleteAll

从指定类型的指定图表、指定图表子窗口中删除所有对象。

int ObjectsDeleteAll(
long chart_id, //图表ID
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件类型
);

从指定的图表子窗口中删除指定类型的所有对象。

int ObjectsDeleteAll(
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件类型
);

使用对象名称中的前缀删除指定类型的所有对象。

int ObjectsDeleteAll(
long chart_id, //图表ID
const string prefix, //物件名称的前缀
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件类型
);

参数
chart_id
[in]表标识符。
前缀
对象名称中的前缀。所有名称以这组字符开头的对象都将从图表中删除。您可以将前缀指定为'name'或'name*' -C,这两种变体的工作方式相同。如果指定空字符串作为前缀,则删除所有可能名称的对象。
sub_window =EMPTY
[in]图表窗口的号码。必须大于或等于-1(-1表示所有子窗口,0表示主图表窗口),小于WindowsTotal()。
object_type =EMPTY
对象的类型。该值可以是ENUM_OBJECT枚举的值之一。空(-1)表示所有类型。
返回值
返回删除对象的数量。要了解更多关于error的信息,请调用GetLastError()。
请注意
索引图表子窗口(如果一个图表有带指示器的子窗口)从1\开始。主图表窗口的索引总是等于0\。如果一个窗口没有索引,或者它的索引是-1,那么对象将从整个图表中删除。如果类型参数的值为-1或此参数不可用,则将删除指定子窗口中的所有对象。
当没有指定图表ID的情况下使用该函数时,该函数应该与它直接访问的当前图表一起工作。在本例中,返回值表示函数执行结果。
如果指定了除当前图表外的图表的ID,则返回值仅告知命令是否已添加到该图表的队列中。在这种情况下使用异步调用,这意味着函数不等待已添加到另一个图表队列的命令的执行。相反,它立即返回控制权。
要检查当前图表之外的命令执行结果,可以使用检查指定对象属性的函数。但是,您应该记住,这些函数被添加到图表队列的末尾,并等待执行结果,因此会很耗时。在处理图表上的大量对象时,应该考虑到这个特性。
例子:
ObjectsDeleteAll(2, OBJ_HLINE); //从第二个子窗口删除所有水平线
ObjectsDeleteAll(2);/ /删除所有对象从第二好子窗口
ObjectsDeleteAll();/ /删除所有对象图。

你可能感兴趣的:(二十三(四)ObjectsDeleteAll全删物件)