基于程序运行中需要在不同位置显示文字的需求,我编制了一个名为 iDisplayInfo()的标准模块,准确输入参数就可以随意地、快速地显示信息了。下面是一个包含了该标准模块的程序调用范例。
- #property copyright "Copyright 2012, laoyee"
- #property link "http://www.docin.com"
- //新价格到达时运行一次
- int start()
- {
- iDisplayInfo("Author", "作者:老易 QQ:9217XX", 1, 18, 15, 8, "", SlateGray);
- iDisplayInfo("Symbol", Symbol(), 1, 25, 30, 14, "Arial Bold", DodgerBlue);
- iDisplayInfo("TradeInfo", "欢迎使用!", 1, 5, 50, 9, "", Olive);
- //显示买入组信息
- iDisplayInfo(Symbol()+"-BuyGroup", "买入组", 1, 70, 70, 12, "Arial", Red);
- iDisplayInfo(Symbol()+"-Ask", DoubleToStr(Ask, Digits), 1, 70, 90, 12, "Arial", Red);
- //显示卖出组信息
- iDisplayInfo(Symbol()+"-SellGroup", "卖出组", 1, 5, 70, 12, "Arial", Green);
- iDisplayInfo(Symbol()+"-Bid", DoubleToStr(Bid, Digits), 1, 5, 90, 12, "Arial", Green);
- return(0);
- }
- //程序加载时运行一次
- int init()
- {
- return(0);
- }
- //程序卸载时运行一次
- int deinit()
- {
- return(0);
- }
- void iDisplayInfo(string LableName,string LableDoc,int Corner,int LableX,int LableY,int DocSize,string DocStyle,color DocColor)
- {
- if (Corner == -1) return(0);
- ObjectCreate(LableName, OBJ_LABEL, 0, 0, 0); //建立标签对象
- ObjectSetText(LableName, LableDoc, DocSize, DocStyle,DocColor); //定义对象属性
- ObjectSet(LableName, OBJPROP_CORNER, Corner); //确定坐标原点,0-左上角,1-右上角,2-左下角,3-右下角,-1-不显示
- ObjectSet(LableName, OBJPROP_XDISTANCE, LableX); //定义横坐标,单位像素
- ObjectSet(LableName, OBJPROP_YDISTANCE, LableY); //定义纵坐标,单位像素
- }
|