Пример #1
0
 /// <summary>
 /// 数据对象
 /// </summary>
 /// <param name="info">数据</param>
 /// <param name="type">0为买 1为卖</param>
 public void InsertData(OneListed info, int type)
 {
     // if (info.blackWhiteType != "0")
     {
         MLabels data = new MLabels();
         data.BackColor      = COLOR.RGB(MCommonData.fontColor6);
         data.MouseBackColor = COLOR.RGB(MCommonData.fontColor10);
         UData ud = new UData();
         for (int i = 0; i < 10; i++)
         {
             MLabel ml = new MLabel();
             ml.ForeColor      = COLOR.RGB(MCommonData.fontColor4);
             ml.MouseForeColor = COLOR.RGB(MCommonData.fontColor4);
             ml.BackColor      = -1;
             ml.Font           = MCommonData.d4Font;
             ml.LeftAligned    = true;
             data.lbs.Add(ml);
         }
         data.lbs[6].MouseForeColor = COLOR.RGB(MCommonData.fontColor2);
         data.lbs[6].Underline      = true;
         data.lbs[9].ForeColor      = COLOR.RGB(MCommonData.fontColor8);
         if (type == 0)
         {
             buyData.Add(ud);
         }
         else
         {
             sellData.Add(ud);
         }
         SetData(info, data, ud, type);
     }
 }
Пример #2
0
 /// <summary>
 /// 鼠标移动
 /// </summary>
 /// <param name="e"></param>
 protected override void OnMouseMove(MMouseEventArgs e)
 {
     if (!this.Enable)
     {
         return;
     }
     if (previousControl != null)
     {
         if (isMouseDown && previousControl is MVScrollBar)
         {
             previousControl.DoMouseMove(e);
         }
         else if (previousControl.Rectangle.Contains(e.MouseEventArgs.X, e.MouseEventArgs.Y))
         {
             previousControl.DoMouseMove(e);
         }
         else
         {
             if (!isMouseDown)
             {
                 this.previousControl.DoMouseLeave(e);
                 this.previousControl = null;
             }
         }
     }
     else
     {
         SelectRow = null;
         MControlBase control = null;
         if (scrollbar1.Visible && scrollbar1.Rectangle.Contains(e.MouseEventArgs.X, e.MouseEventArgs.Y))
         {
             control = scrollbar1;
         }
         else if (scrollbar2.Visible && scrollbar2.Rectangle.Contains(e.MouseEventArgs.X, e.MouseEventArgs.Y))
         {
             control = scrollbar2;
         }
         else
         {
             for (int i = buyData.Count - 1; i >= 0; i--)
             {
                 MControlBase controlBase = buyData[i].data;
                 if (controlBase != null && controlBase.Visible && !(controlBase is MRectangle) && controlBase.Rectangle.Contains(e.MouseEventArgs.X, e.MouseEventArgs.Y))
                 {
                     control = controlBase;
                     break;
                 }
             }
             if (control == null)
             {
                 for (int i = sellData.Count - 1; i >= 0; i--)
                 {
                     MControlBase controlBase = sellData[i].data;
                     if (controlBase.Visible && !(controlBase is MRectangle) && controlBase.Rectangle.Contains(e.MouseEventArgs.X, e.MouseEventArgs.Y))
                     {
                         control = controlBase;
                         break;
                     }
                 }
             }
         }
         if (control != null)
         {
             control.DoMouseEnter(e);
             this.previousControl = control;
             if (control is MLabels)
             {
                 MLabels mbs = control as MLabels;
                 if (mbs != null)
                 {
                     SelectRow = control;
                 }
             }
         }
     }
 }
Пример #3
0
        protected int offset2 = 0;                            //下偏移量
        public MUseTable()
        {
            #region 表格

            image3 = new MImage();
            image3.BackgroundImage = Resources.tips;
            image3.Visible         = false;

            #region 标题栏
            //列头:标记,序号,采购/销售,等级,升贴水,绝对价格,数量,仓库,公司,备注,发布时间
            tableHeader                = new MLabels();
            tableHeader.BackColor      = COLOR.RGB(MCommonData.fontColor5);
            tableHeader.MouseBackColor = COLOR.RGB(MCommonData.fontColor5);
            for (int i = 0; i < 11; i++)
            {
                MLabel ml = new MLabel();
                ml.Font        = MCommonData.d2Font;
                ml.ForeColor   = COLOR.RGB(MCommonData.fontColor4);
                ml.BackColor   = -1;
                ml.LeftAligned = true;
                tableHeader.lbs.Add(ml);
            }

            tableHeader.lbs[0].Text  = "标记";
            tableHeader.lbs[1].Text  = "采购/销售";
            tableHeader.lbs[2].Text  = "等级";
            tableHeader.lbs[3].Text  = "参考合约";
            tableHeader.lbs[4].Text  = "升贴水\r\n(元/吨)";
            tableHeader.lbs[5].Text  = "绝对价格\r\n(元/吨)";
            tableHeader.lbs[6].Text  = "数量\r\n(吨)";
            tableHeader.lbs[7].Text  = "仓库";
            tableHeader.lbs[8].Text  = "公司";
            tableHeader.lbs[9].Text  = "备注";
            tableHeader.lbs[10].Text = "发布时间";

            #region 表格数据

            //横线
            line1           = new MLine();
            line1.Width     = 1;
            line1.LineColor = COLOR.RGB(MCommonData.fontColor2);

            #endregion

            //标记图片
            image2 = new MImage();
            image2.BackgroundImage = Resources.mark;

            #endregion

            //上表背景
            mrt1           = new MRectangle();
            mrt1.BackColor = COLOR.RGB(MCommonData.fontColor6);

            //下表背景
            mrt2           = new MRectangle();
            mrt2.BackColor = COLOR.RGB(MCommonData.fontColor6);

            #region 滚动条
            scrollbar1                     = new MVScrollBar();
            scrollbar1.BackColor           = COLOR.RGB(MCommonData.fontColor6);
            scrollbar1.MouseBackColor      = COLOR.RGB(MCommonData.fontColor6);
            scrollbar1.MouseClickBackColor = COLOR.RGB(MCommonData.fontColor6);
            scrollbar1.ForeColor           = COLOR.RGB(MCommonData.fontColor14);
            scrollbar1.MouseForeColor      = COLOR.RGB(MCommonData.fontColor15);
            scrollbar1.ValueChanged       += Scrollbar1_ValueChanged;
            scrollbar1.MinInitialized     += Scrollbar1_MinInitialized;

            scrollbar2                     = new MVScrollBar();
            scrollbar2.BackColor           = COLOR.RGB(MCommonData.fontColor6);
            scrollbar2.MouseBackColor      = COLOR.RGB(MCommonData.fontColor6);
            scrollbar2.MouseClickBackColor = COLOR.RGB(MCommonData.fontColor6);
            scrollbar2.ForeColor           = COLOR.RGB(MCommonData.fontColor14);
            scrollbar2.MouseForeColor      = COLOR.RGB(MCommonData.fontColor15);
            scrollbar2.ValueChanged       += Scrollbar2_ValueChanged;
            scrollbar2.MinInitialized     += Scrollbar2_MinInitialized;
            #endregion

            #endregion
        }
Пример #4
0
        private void SetData(OneListed info, MLabels data, UData ud, int type)
        {
            if (info == null || data == null || ud == null || data.lbs == null || data.lbs.Count == 0)
            {
                return;
            }
            data.lbs[0].Text = info.transTypeName;
            data.lbs[1].Text = info.commLevelName;
            if (string.IsNullOrWhiteSpace(info.contract))
            {
                data.lbs[2].Text = "--";
            }
            else
            {
                data.lbs[2].Text = info.contract;
            }
            if (string.IsNullOrWhiteSpace(info.premium))
            {
                data.lbs[3].Text = "--";
            }
            else
            {
                data.lbs[3].Text = info.premium;
            }
            if (info.pricingMethod == "0" && info.premium != null)
            {
                var vvv = DataManager.Instance.GetContractLastPrice(info.contract);
                if (vvv != null)
                {
                    int premium;
                    int.TryParse(info.premium, out premium);
                    if (premium != 0)
                    {
                        if (type == 0)
                        {
                            info.fixedPrice = (vvv.bidPrice + premium).ToString();
                        }
                        else
                        {
                            info.fixedPrice = (vvv.askPrice + premium).ToString();
                        }
                    }
                }
            }

            decimal money;

            decimal.TryParse(info.fixedPrice, out money);
            if (money > 0)
            {
                data.lbs[4].Text = string.Format("{0:C}", money);
            }
            else
            {
                data.lbs[4].Text = "";
            }
            data.lbs[5].Text = info.commAvailableQuantity;
            string text = info.warehouseName;

            if (text != null && text.Length >= 6)
            {
                text = text.Substring(0, 6) + "...";
            }
            data.lbs[6].Text = text;
            data.lbs[7].Text = info.publisher;
            data.lbs[8].Text = info.remarks;
            long l;

            long.TryParse(info.publisherDate, out l);
            DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            data.lbs[9].Text = start.AddMilliseconds(l).ToLocalTime().ToString("HH:mm:ss");

            if (DataManager.Instance.LoginData != null)
            {
                ud.data1image = new MImage();

                if (info.createdBy == DataManager.Instance.LoginData.id)
                {
                    ud.data1image.BackgroundImage = Resources.icon_publish;
                }
                else if (DataManager.Instance.WhiteEnable && DataManager.Instance.WhiteDY != null && info.publisher != null && DataManager.Instance.WhiteDY.ContainsKey(info.publisher))
                {
                    ud.data1image.BackgroundImage = Resources.icon_white;
                }
                else if (DataManager.Instance.BlackEnable && DataManager.Instance.BlackDY != null && info.publisher != null && DataManager.Instance.BlackDY.ContainsKey(info.publisher))
                {
                    ud.data1image.BackgroundImage = Resources.icon_black;
                }
                else
                {
                    ud.data1image = null;
                }
            }
            data.Tag = ud;
            ud.obj   = info;
            ud.data  = data;
            ud.house = data.lbs[6];//仓库信息
            if (type == 0)
            {
                scrollbar2.CalculationSliderWith(buyData.Count * dataInterval);
            }
            else
            {
                scrollbar1.CalculationSliderWith(sellData.Count * dataInterval);
            }
        }
Пример #5
0
        protected MUseTable table;     //表格
        #endregion

        /// <summary>
        /// 初始化界面
        /// </summary>
        protected void Initialize()
        {
            #region 窗口阴影
            WinAPI.SetClassLong(this.Handle, WinAPI.GCL_STYLE, WinAPI.GetClassLong(this.Handle, WinAPI.GCL_STYLE) | WinAPI.CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果
            #endregion

            #region 画板初始化
            Logger.LogInfo("画板初始化!");
            RECT defult = new RECT();
            this.board              = new MBorad();
            this.board.Dock         = DockStyle.Fill;
            this.board.Location     = new Point(0, 0);
            this.board.Name         = "cBoard";
            this.board.BackColor    = Color.Black;
            this.board.Click       += Board_Click;
            this.board.DoubleClick += Board_DoubleClick;
            this.board.MouseWheel  += Board_MouseWheel;

            this.Controls.Add(board);
            #endregion

            #region 第一行
            Logger.LogInfo("初始化第一行背景!");
            mrbk           = new MRectangle();
            mrbk.BackColor = COLOR.RGB(MCommonData.fontColor5);
            this.board.AddControl(mrbk);

            #region  钮
            btns1 = new MButtons();

            Logger.LogInfo("初始化第一行行情按钮!");
            MLineButton btnhq = new MLineButton();
            btnhq.Font           = MCommonData.d2Font;
            btnhq.Text           = "行情";
            btnhq.ForeColor      = COLOR.RGB(MCommonData.fontColor1);
            btnhq.MouseForeColor = COLOR.RGB(MCommonData.fontColor2);
            btnhq.hasChoose      = true;
            btnhq.MouseDown     += Btnhq_Click;
            btns1.btns.Add(btnhq);

            Logger.LogInfo("初始化第一行我的资金按钮!");
            MLineButton btnls = new MLineButton();
            btnls.Font           = MCommonData.d2Font;
            btnls.Text           = "我的资金";
            btnls.ForeColor      = COLOR.RGB(MCommonData.fontColor1);
            btnls.MouseForeColor = COLOR.RGB(MCommonData.fontColor2);
            btnls.MouseDown     += Btnls_Click;
            btns1.btns.Add(btnls);

            Logger.LogInfo("初始化第一行基础管理按钮!");
            MLineButton btnjc = new MLineButton();
            btnjc.Font           = MCommonData.d2Font;
            btnjc.Text           = "基础管理";
            btnjc.ForeColor      = COLOR.RGB(MCommonData.fontColor1);
            btnjc.MouseForeColor = COLOR.RGB(MCommonData.fontColor2);
            btnjc.MouseDown     += Btnjc_Click;
            btns1.btns.Add(btnjc);
            this.board.AddControl(btns1);

            btns2 = new MButtons();
            Logger.LogInfo("初始化第一行登录按钮!");
            MButton btnlogin = new MButton();
            btnlogin.MouseClickImage = Resources.icon_login_hover;
            btnlogin.BackgroundImage = Resources.icon_login;;
            btnlogin.MouseEnterImage = Resources.icon_login_hover;
            btnlogin.hasFrame        = false;
            btnlogin.MouseDown      += Btnlogin_MouseDown;;
            btns2.btns.Add(btnlogin);

            Logger.LogInfo("初始化第一行注册按钮!");
            MButton btnregistered = new MButton();
            btnregistered.MouseClickImage = Resources.icon_registered_hover;
            btnregistered.BackgroundImage = Resources.icon_registered;;
            btnregistered.MouseEnterImage = Resources.icon_registered_hover;
            btnregistered.hasFrame        = false;
            btnregistered.MouseDown      += Btnregistered_MouseDown;;
            btns2.btns.Add(btnregistered);
            this.board.AddControl(btns2);

            Logger.LogInfo("初始化第一行登录后状态!");
            lblogin             = new MLabel();
            lblogin.Text        = "您好, ";
            lblogin.ForeColor   = COLOR.RGB(Color.White);
            lblogin.BackColor   = COLOR.RGB(MCommonData.fontColor5);
            lblogin.Font        = MCommonData.d4Font;
            lblogin.LeftAligned = true;
            lblogin.Visible     = false;
            this.board.AddControl(lblogin);

            Logger.LogInfo("初始化第一行注销按钮!");
            btnloginoff                     = new MButton();
            btnloginoff.Text                = "注销";
            btnloginoff.ForeColor           = COLOR.RGB(Color.White);
            btnloginoff.MouseForeColor      = COLOR.RGB(MCommonData.fontColor8);
            btnloginoff.BackColor           = COLOR.RGB(MCommonData.fontColor5);
            btnloginoff.MouseBackColor      = COLOR.RGB(MCommonData.fontColor5);
            btnloginoff.MouseClickBackColor = COLOR.RGB(MCommonData.fontColor5);
            btnloginoff.Font                = MCommonData.d4Font;
            btnloginoff.hasFrame            = false;
            btnloginoff.Visible             = false;
            btnloginoff.MouseDown          += BtnWriteOff_MouseDown;;;
            this.board.AddControl(btnloginoff);


            btns3 = new MButtons();
            Logger.LogInfo("初始化第一行最小化按钮!");
            MButton btnmin = new MButton();
            btnmin.BackgroundImage = Resources.icon_mini;
            btnmin.MouseEnterImage = Resources.icon_mini_hover;
            btnmin.MouseClickImage = Resources.icon_mini_hover;
            btnmin.ImageSIZE       = new SIZE(12, 2);
            btnmin.MouseDown      += Btnmin_Click;
            btns3.btns.Add(btnmin);

            Logger.LogInfo("初始化第一行最大化按钮!");
            MButton btnmax = new MButton();
            btnmax.BackgroundImage = Resources.icon_max;
            btnmax.MouseEnterImage = Resources.icon_max_hover;
            btnmax.MouseClickImage = Resources.icon_max_hover;
            btnmax.MouseDown      += Btnmax_Click;
            btns3.btns.Add(btnmax);

            Logger.LogInfo("初始化第一行关闭按钮!");
            MButton btnclose = new MButton();
            btnclose.BackgroundImage = Resources.icon_close;
            btnclose.MouseEnterImage = Resources.icon_close_hover;
            btnclose.MouseClickImage = Resources.icon_close_hover;
            btnclose.MouseDown      += Btnclose_Click;
            btns3.btns.Add(btnclose);
            this.board.AddControl(btns3);
            #endregion

            #endregion

            #region 第一列
            btns5 = new MButtons();
            Logger.LogInfo("初始化第一列行情!");
            MPolygonButton pbtn1 = new MPolygonButton();
            pbtn1.Text             = "行情";
            pbtn1.Font             = MCommonData.d2Font;
            pbtn1.ForeColor        = COLOR.RGB(MCommonData.fontColor1);
            pbtn1.MouseForeColor   = COLOR.RGB(MCommonData.fontColor2);
            pbtn1.PolygonForeColor = COLOR.RGB(MCommonData.fontColor5);
            pbtn1.hasChoose        = true;
            pbtn1.MouseDown       += Pbtn1_Click;
            btns5.btns.Add(pbtn1);

            Logger.LogInfo("初始化第一列供需发布!");
            MPolygonButton pbtn2 = new MPolygonButton();
            pbtn2.Text             = "供需发布";
            pbtn2.Font             = MCommonData.d2Font;
            pbtn2.ForeColor        = COLOR.RGB(MCommonData.fontColor1);
            pbtn2.MouseForeColor   = COLOR.RGB(MCommonData.fontColor2);
            pbtn2.PolygonForeColor = COLOR.RGB(MCommonData.fontColor5);
            pbtn2.MouseDown       += Pbtn2_Click;
            btns5.btns.Add(pbtn2);

            Logger.LogInfo("初始化第一列K线图!");
            MPolygonButton pbtn3 = new MPolygonButton();
            pbtn3.Text             = "K线图";
            pbtn3.Font             = MCommonData.d2Font;
            pbtn3.ForeColor        = COLOR.RGB(MCommonData.fontColor1);
            pbtn3.MouseForeColor   = COLOR.RGB(MCommonData.fontColor2);
            pbtn3.PolygonForeColor = COLOR.RGB(MCommonData.fontColor5);
            pbtn3.MouseDown       += Pbtn3_Click;
            btns5.btns.Add(pbtn3);

            Logger.LogInfo("初始化第一列资讯!");
            MPolygonButton pbtn4 = new MPolygonButton();
            pbtn4.Text             = "资讯";
            pbtn4.Font             = MCommonData.d2Font;
            pbtn4.ForeColor        = COLOR.RGB(MCommonData.fontColor1);
            pbtn4.MouseForeColor   = COLOR.RGB(MCommonData.fontColor2);
            pbtn4.PolygonForeColor = COLOR.RGB(MCommonData.fontColor5);
            pbtn4.MouseDown       += Pbtn4_Click;
            btns5.btns.Add(pbtn4);
            this.board.AddControl(btns5);
            #endregion

            #region 第二行

            #region 快捷按钮
            Logger.LogInfo("初始化第二行快捷按钮!");
            btns4      = new MButtons();
            btns4.Font = MCommonData.d2Font;
            this.board.AddControl(btns4);
            #endregion

            #region 买卖基价
            lbs1 = new MLabels();
            Logger.LogInfo("初始化买入基价!");
            MLabel lbbuy = new MLabel();
            lbbuy.Text        = "买入基价:";
            lbbuy.ForeColor   = COLOR.RGB(Color.Red);
            lbbuy.BackColor   = -1;
            lbbuy.Font        = MCommonData.d2Font;
            lbbuy.LeftAligned = true;
            lbs1.lbs.Add(lbbuy);

            Logger.LogInfo("初始化买入基价值!");
            MLabel lbbuyvalue = new MLabel();
            lbbuyvalue.Text        = "     ";
            lbbuyvalue.ForeColor   = COLOR.RGB(Color.White);
            lbbuyvalue.BackColor   = -1;
            lbbuyvalue.Font        = MCommonData.d3Font;
            lbbuyvalue.LeftAligned = true;
            lbs1.lbs.Add(lbbuyvalue);

            Logger.LogInfo("初始化卖出基价!");
            MLabel lbsell = new MLabel();
            lbsell.Text        = "卖出基价:";
            lbsell.ForeColor   = COLOR.RGB(Color.Green);
            lbsell.BackColor   = -1;
            lbsell.Font        = MCommonData.d2Font;
            lbsell.LeftAligned = true;
            lbs1.lbs.Add(lbsell);

            Logger.LogInfo("初始化卖出基价值!");
            MLabel lbsellvalue = new MLabel();
            lbsellvalue.Text        = "     ";
            lbsellvalue.ForeColor   = COLOR.RGB(Color.White);
            lbsellvalue.BackColor   = -1;
            lbsellvalue.Font        = MCommonData.d3Font;
            lbsellvalue.LeftAligned = true;
            lbs1.lbs.Add(lbsellvalue);
            this.board.AddControl(lbs1);

            #endregion

            #endregion

            #region 表格

            table = new MUseTable();
            this.board.AddControl(table);

            #endregion

            #region  择框

            Logger.LogInfo("初始化第二行快捷按钮!");
            select = new MSelect();
            select.BackgroundImage               = Resources.select_normal;
            select.MouseClickImage               = Resources.select_press;
            select.MouseEnterImage               = Resources.select_normal;
            select.Font                          = MCommonData.d4Font;
            select.ForeColor                     = COLOR.RGB(MCommonData.fontColor4);
            select.DropDownBoxForeColor          = COLOR.RGB(MCommonData.fontColor5);
            select.DropDownBoxBackColor          = COLOR.RGB(MCommonData.fontColor4);
            select.DropDownBoxRowMouseEnterColor = COLOR.RGB(MCommonData.fontColor13);
            select.Text                          = "请选择";
            select.TextChangeEvent              += Select_TextChangeEvent;
            this.board.AddControl(select);
            #endregion

            Initialized();

            this.SizeChanged += Form1_SizeChanged;

            Draw();
        }