LayoutFarm.CustomWidgets.MenuItem CreateMenuItem(int x, int y) { var mnuItem = new CustomWidgets.MenuItem(150, 20); mnuItem.SetLocation(x, y); //-------------------- //1. create landing part var landPart = new LayoutFarm.CustomWidgets.Box(150, 20); landPart.BackColor = Color.OrangeRed; mnuItem.LandPart = landPart; //-------------------------------------- //add small px to land part //image //load bitmap with gdi+ if (_arrowBmp == null) { _arrowBmp = _appHost.LoadImageAndBind("../Data/imgs/arrow_open.png"); } LayoutFarm.CustomWidgets.ImageBox imgBox = new CustomWidgets.ImageBox(_arrowBmp.Width, _arrowBmp.Height); imgBox.ImageBinder = _arrowBmp; landPart.AddChild(imgBox); //-------------------------------------- //if click on this image then imgBox.MouseDown += (s, e) => { e.CancelBubbling = true; //1. maintenace parent menu*** mnuItem.MaintenanceParentOpenState(); //----------------------------------------------- if (mnuItem.IsOpened) { mnuItem.Close(); } else { mnuItem.Open(); } }; imgBox.MouseUp += (s, e) => { mnuItem.UnmaintenanceParentOpenState(); }; imgBox.LostMouseFocus += (s, e) => { if (!mnuItem.MaintenceOpenState) { mnuItem.CloseRecursiveUp(); } }; //-------------------------------------- //2. float part var floatPart = new LayoutFarm.CustomWidgets.MenuBox(400, 100); floatPart.BackColor = Color.Gray; mnuItem.FloatPart = floatPart; return(mnuItem); }
LayoutFarm.CustomWidgets.ComboBox CreateComboBox(int x, int y) { var comboBox = new CustomWidgets.ComboBox(400, 20); comboBox.SetLocation(x, y); //-------------------- //1. create landing part var landPart = new LayoutFarm.CustomWidgets.Box(400, 20); landPart.BackColor = Color.Green; comboBox.LandPart = landPart; //-------------------------------------- //add small px to land part //image //load bitmap with gdi+ if (_arrowBmp == null) { _arrowBmp = _appHost.LoadImageAndBind("../Data/imgs/arrow_open.png"); } LayoutFarm.CustomWidgets.ImageBox imgBox = new CustomWidgets.ImageBox(_arrowBmp.Width, _arrowBmp.Height); imgBox.ImageBinder = _arrowBmp; //-------------------------------------- //2. float part var floatPart = new LayoutFarm.CustomWidgets.Box(400, 100); floatPart.BackColor = Color.Blue; comboBox.FloatPart = floatPart; //-------------------------------------- //if click on this image then imgBox.MouseDown += (s, e) => { e.CancelBubbling = true; if (comboBox.IsOpen) { comboBox.CloseHinge(); } else { comboBox.OpenHinge(); } }; imgBox.LostMouseFocus += (s, e) => { if (comboBox.IsOpen) { comboBox.CloseHinge(); } }; landPart.AddChild(imgBox); return(comboBox); }
void AddScrollView1(AppHost host, int x, int y) { var panel = new LayoutFarm.CustomWidgets.Box(200, 175); panel.NeedClipArea = true; panel.SetLocation(x + 30, y + 30); panel.BackColor = Color.LightGray; host.AddChild(panel); //------------------------- { //vertical scrollbar var vscbar = new LayoutFarm.CustomWidgets.ScrollBar(15, 200); vscbar.SetLocation(x + 10, y + 10); vscbar.MinValue = 0; vscbar.MaxValue = 170; //just init vscbar.SmallChange = 20; host.AddChild(vscbar); //add relation between viewpanel and scroll bar var scRelation = new LayoutFarm.CustomWidgets.ScrollingRelation(vscbar.SliderBox, panel); } //------------------------- { //horizontal scrollbar var hscbar = new LayoutFarm.CustomWidgets.ScrollBar(200, 15); hscbar.ScrollBarType = CustomWidgets.ScrollBarType.Horizontal; hscbar.SetLocation(x + 30, y + 10); hscbar.MinValue = 0; hscbar.MaxValue = 170;//just init hscbar.SmallChange = 20; host.AddChild(hscbar); //add relation between viewpanel and scroll bar var scRelation = new LayoutFarm.CustomWidgets.ScrollingRelation(hscbar.SliderBox, panel); } //add content to panel for (int i = 0; i < 10; ++i) { var box1 = new LayoutFarm.CustomWidgets.Box(400, 30); box1.HasSpecificWidth = true; box1.HasSpecificHeight = true; box1.BackColor = Color.OrangeRed; box1.SetLocation(i * 20, i * 40); panel.AddChild(box1); } //-------------------------- //panel.PerformContentLayout(); }
void AddScrollView2(AppHost host, int x, int y) { var panel = new LayoutFarm.CustomWidgets.Box(800, 600); panel.HasSpecificWidthAndHeight = true; panel.NeedClipArea = true; panel.SetLocation(x + 10, y + 30); panel.BackColor = Color.LightGray; panel.ContentLayoutKind = CustomWidgets.BoxContentLayoutKind.VerticalStack; host.AddChild(panel); //------------------------- //load images... //check folder before load string[] fileNames = new string[0]; if (System.IO.Directory.Exists("../Data/imgs")) { fileNames = System.IO.Directory.GetFiles("../Data/imgs", "0*.jpg"); } //select only int lastY = 0; int imgNo = 0; for (int i = 0; i < fileNames.Length * 4; ++i) //5 imgs { var imgbox = new LayoutFarm.CustomWidgets.ImageBox(36, 36); imgbox.BackColor = Color.OrangeRed; imgbox.SetLocation(0, lastY); imgbox.MouseUp += (s, e) => { if (e.Button == UIMouseButtons.Right) { //test remove this imgbox on right mouse click panel.RemoveChild(imgbox); } }; ImageBinder imgBinder = host.CreateImageBinder(fileNames[imgNo]); imgbox.SetSize(imgBinder.Width, imgBinder.Height); imgbox.ImageBinder = imgBinder; lastY += imgbox.Height; panel.AddChild(imgbox); imgNo++; if (imgNo == fileNames.Length) //last img { imgNo = 0; //reset } } //-------------------------- //panel may need more panel.SetViewport(0, 0); //------------------------- { //vertical scrollbar var vscbar = new LayoutFarm.CustomWidgets.ScrollBar(15, 200); vscbar.SetLocation(x + 10, y + 10); vscbar.MinValue = 0; vscbar.MaxValue = lastY; vscbar.SmallChange = 20; host.AddChild(vscbar); //add relation between viewpanel and scroll bar var scRelation = new LayoutFarm.CustomWidgets.ScrollingRelation(vscbar.SliderBox, panel); } //------------------------- { //horizontal scrollbar var hscbar = new LayoutFarm.CustomWidgets.ScrollBar(150, 15); hscbar.ScrollBarType = CustomWidgets.ScrollBarType.Horizontal; hscbar.SetLocation(x + 30, y + 10); hscbar.MinValue = 0; hscbar.MaxValue = panel.Width;//just init hscbar.SmallChange = 20; host.AddChild(hscbar); //add relation between viewpanel and scroll bar var scRelation = new LayoutFarm.CustomWidgets.ScrollingRelation(hscbar.SliderBox, panel); } }