從指定類(lèi)型的指定圖表、指定圖表子窗口中刪除所有對(duì)象。
int ObjectsDeleteAll(
long chart_id, //圖表ID
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件類(lèi)型
);
從指定的圖表子窗口中刪除指定類(lèi)型的所有對(duì)象。
int ObjectsDeleteAll(
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件類(lèi)型
);
使用對(duì)象名稱(chēng)中的前綴刪除指定類(lèi)型的所有對(duì)象。
int ObjectsDeleteAll(
long chart_id, //圖表ID
const string prefix, //物件名稱(chēng)的前綴
int sub_window=EMPTY, //窗口索引
int object_type=EMPTY //物件類(lèi)型
);
參數(shù)
chart_id
[in]表標(biāo)識(shí)符。
前綴
對(duì)象名稱(chēng)中的前綴。所有名稱(chēng)以這組字符開(kāi)頭的對(duì)象都將從圖表中刪除。您可以將前綴指定為'name'或'name*' -C,這兩種變體的工作方式相同。如果指定空字符串作為前綴,則刪除所有可能名稱(chēng)的對(duì)象。
sub_window =EMPTY
[in]圖表窗口的號(hào)碼。必須大于或等于-1(-1表示所有子窗口,0表示主圖表窗口),小于WindowsTotal()。
object_type =EMPTY
對(duì)象的類(lèi)型。該值可以是ENUM_OBJECT枚舉的值之一???-1)表示所有類(lèi)型。
返回值
返回刪除對(duì)象的數(shù)量。要了解更多關(guān)于error的信息,請(qǐng)調(diào)用GetLastError()。
請(qǐng)注意
索引圖表子窗口(如果一個(gè)圖表有帶指示器的子窗口)從1\開(kāi)始。主圖表窗口的索引總是等于0\。如果一個(gè)窗口沒(méi)有索引,或者它的索引是-1,那么對(duì)象將從整個(gè)圖表中刪除。如果類(lèi)型參數(shù)的值為-1或此參數(shù)不可用,則將刪除指定子窗口中的所有對(duì)象。
當(dāng)沒(méi)有指定圖表ID的情況下使用該函數(shù)時(shí),該函數(shù)應(yīng)該與它直接訪問(wèn)的當(dāng)前圖表一起工作。在本例中,返回值表示函數(shù)執(zhí)行結(jié)果。
如果指定了除當(dāng)前圖表外的圖表的ID,則返回值僅告知命令是否已添加到該圖表的隊(duì)列中。在這種情況下使用異步調(diào)用,這意味著函數(shù)不等待已添加到另一個(gè)圖表隊(duì)列的命令的執(zhí)行。相反,它立即返回控制權(quán)。
要檢查當(dāng)前圖表之外的命令執(zhí)行結(jié)果,可以使用檢查指定對(duì)象屬性的函數(shù)。但是,您應(yīng)該記住,這些函數(shù)被添加到圖表隊(duì)列的末尾,并等待執(zhí)行結(jié)果,因此會(huì)很耗時(shí)。在處理圖表上的大量對(duì)象時(shí),應(yīng)該考慮到這個(gè)特性。
例子:
ObjectsDeleteAll(2, OBJ_HLINE); //從第二個(gè)子窗口刪除所有水平線
ObjectsDeleteAll(2);/ /刪除所有對(duì)象從第二好子窗口
ObjectsDeleteAll();/ /刪除所有對(duì)象圖。