public static void Init(Graphics g,TextBox t,ShowOK CallBack) { NameInput = t; CallShowOK = CallBack; DrawMap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); gp = Graphics.FromImage(DrawMap); Sgp = g; rect = new Rectangle(Screen.PrimaryScreen.Bounds.Width/2-300, 0, 600, 400); startpoint = new Point(rect.X, rect.Y); DrawDelay.Interval = 10; DrawDelay.Tick += (new EventHandler((object sender, EventArgs e) => { DrawUI(); ((Timer)sender).Stop(); })); NameInput.Visible = false; NameInput.Location = new Point(startpoint.X + 130, 329); //NameInput.Parent.Focus(); //NameInput.KeyDown += new KeyEventHandler((object sender, KeyEventArgs e) => { // if (isEditName) // { // if (e.KeyCode == Keys.Enter) // { // ((Control.Button)SaveItem).SetName(NameInput.Text); // NameInput.Parent.Focus(); // NameInput.Visible = false; // isEditName = false; // DrawDelay.Start(); // } // } // else // { // ((TextBox)sender).Visible = false; // } //}); //--------按钮属性 ButtonInfo.Add(new Control.Button(startpoint.X + 10, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { isEditKey = true; SelectButtonIndex = 0; if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); ButtonInfo.Add(new Control.Button(startpoint.X + 120, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { isEditName = true; NameInput.Visible = true; NameInput.Focus(); if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); ButtonInfo.Add(new Control.Button(startpoint.X + 380, 310, 100, 80, "X方向缩放", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if ((((Control.Button)SaveItem).mode & Control.Button.Button_IsRect) == 0) { if (ButtonXSize) { ButtonXSize = ButtonYSize = false; ButtonInfo[0].mode &= ~Control.Button.Button_IsUse; ButtonInfo[1].mode &= ~Control.Button.Button_IsUse; } else { ButtonXSize = ButtonYSize = true; ButtonInfo[0].mode |= Control.Button.Button_IsUse; ButtonInfo[1].mode |= Control.Button.Button_IsUse; } } else { if (ButtonXSize) { ButtonXSize = false; b.mode &= ~Control.Button.Button_IsUse; } else { ButtonXSize = true; b.mode |= Control.Button.Button_IsUse; } } DrawUI(); }))); ButtonInfo.Add(new Control.Button(startpoint.X + 490, 310, 100, 80, "Y方向缩放", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if ((((Control.Button)SaveItem).mode & Control.Button.Button_IsRect)==0) { if (ButtonYSize) { ButtonXSize = ButtonYSize = false; ButtonInfo[0].mode &= ~Control.Button.Button_IsUse; ButtonInfo[1].mode &= ~Control.Button.Button_IsUse; } else { ButtonXSize = ButtonYSize = true; ButtonInfo[0].mode |= Control.Button.Button_IsUse; ButtonInfo[1].mode |= Control.Button.Button_IsUse; } } else { if (ButtonYSize) { ButtonYSize = false; b.mode &= ~Control.Button.Button_IsUse; } else { ButtonYSize = true; b.mode |= Control.Button.Button_IsUse; } } DrawUI(); }))); //--------- //------摇杆属性 StickInfo.Add(new Control.Button(startpoint.X + 10, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { SelectButtonIndex = 0; isEditKey = true; if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); StickInfo.Add(new Control.Button(startpoint.X + 160, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { SelectButtonIndex = 1; isEditKey = true; if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); StickInfo.Add(new Control.Button(startpoint.X + 310, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { SelectButtonIndex = 2; isEditKey = true; if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); StickInfo.Add(new Control.Button(startpoint.X + 490, 310, 100, 80, "", 4, new Control.Button.ButtonCallBack((Control.Button b) => { SelectButtonIndex = 3; isEditKey = true; if (ButtonUI.ScreenKeyboard) ButtonUI.ShowScreenKeyboard(); }))); //------- NewList.Add(new Control.Button(startpoint.X + 100 - 50, 200 - 50, 100, 100, "圆形按钮", 0, null, new Control.Button.ButtonCallBack((Control.Button b) => { Point p = new Point(Screen.PrimaryScreen.Bounds.Width / 2 - 50, 160); ControlBase item = new Control.Button(p.X,p.Y,100,100, "圆形按钮",(short)'A',0); item.g = gp; Touch.MobList.Add(item); SaveItem = item; DrawUI(); }))); NewList.Add(new Control.Button(startpoint.X + 300 - 50, 200 - 40, 100, 80, "方形按钮", 4, null, new Control.Button.ButtonCallBack((Control.Button b) => { Point p = new Point(Screen.PrimaryScreen.Bounds.Width / 2 - 50, 160); ControlBase item = new Control.Button(p.X, p.Y, 100, 80, "方形按钮", (short)'A', 4); item.g = gp; Touch.MobList.Add(item); SaveItem = item; DrawUI(); }))); NewList.Add(new Control.Stick(startpoint.X + 500 - 50, 200 - 50, 50, DefKeyList, 0, 110, 0.3F, 0.5F, new Stick.StickCallBack((Stick s) => { Point p = new Point(Screen.PrimaryScreen.Bounds.Width / 2 - 50, 160); ControlBase item = new Stick(p.X, p.Y, 50, DefKeyList); item.g = gp; Touch.MobList.Add(item); SaveItem = item; DrawUI(); }))); ContList.Add(new Control.Button(startpoint.X + 10, 0, 80, 50, "添加", 4, new Control.Button.ButtonCallBack((Control.Button b) => { isNewList = true; DrawNewList(); }))); ContList.Add(new Control.Button(startpoint.X + 110, 0, 80, 50, "删除", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if (SaveItem != null) { Touch.MobList.Remove(SaveItem); SaveItem = null; DrawUI(); GC.Collect(); } }))); ContList.Add(new Control.Button(startpoint.X + 210, 0, 80, 50, "复制", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if (SaveItem != null) { Point p = new Point(Screen.PrimaryScreen.Bounds.Width / 2-SaveItem.rect.Width/2,200-SaveItem.rect.Height/2); ControlBase item = SaveItem.clone(); item.setpos(p); Touch.MobList.Add(item); DrawUI(); } }))); ContList.Add(new Control.Button(startpoint.X + 310, 0, 80, 50, "放大", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if (SaveItem != null) { if (SaveItem is Control.Button) { SaveItem.setsize(new Size((ButtonXSize) ? SaveItem.rect.Width + 10 : SaveItem.rect.Width, (ButtonYSize) ? SaveItem.rect.Height + 10 : SaveItem.rect.Height)); } else { SaveItem.setsize(new Size(SaveItem.rect.Width + 10, SaveItem.rect.Height + 10)); } SaveItem.setpos(SaveItem.rect.Location); DrawUI(); } }))); ContList.Add(new Control.Button(startpoint.X + 410, 0, 80, 50, "缩小", 4, new Control.Button.ButtonCallBack((Control.Button b) => { if (SaveItem != null) { if (SaveItem.rect.Width > 10 && SaveItem.rect.Height > 10) { if(SaveItem is Control.Button) SaveItem.setsize(new Size((ButtonXSize) ? SaveItem.rect.Width - 10 : SaveItem.rect.Width, (ButtonYSize) ? SaveItem.rect.Height - 10 : SaveItem.rect.Height)); else SaveItem.setsize(new Size(SaveItem.rect.Width - 10, SaveItem.rect.Height - 10)); SaveItem.setpos(SaveItem.rect.Location); DrawUI(); } } }))); ContList.Add(new Control.Button(startpoint.X + 510, 0, 80, 50, "关闭", 4,null, new Control.Button.ButtonCallBack((Control.Button b) => { Hide(); if (CallShowOK != null)CallShowOK(); }))); foreach (Control.Button b in ContList) b.g = gp; foreach (Control.ControlBase b in NewList) b.g = gp; foreach (Control.ControlBase b in ButtonInfo) b.g = gp; foreach (Control.ControlBase b in StickInfo) b.g = gp; }
public override ControlBase clone() { Button b = new Button(this.rect.X, this.rect.Y, this.rect.Width, this.rect.Height, this.name, this.key,this.mode); b.g = g; b.redraw = redraw; b.id = -1; return b; }