public override void SetTransparency(bool on, Color curcol) { this.BackColor = curcol; panelPlayfield.BackColor = curcol; rollUpPanelMenu.BackColor = curcol; rollUpPanelMenu.ShowHiddenMarker = !on; foreach (UserControlContainerResizable r in uccrlist) { r.BorderColor = on ? Color.Transparent : discoveryform.theme.GridBorderLines; UserControlCommonBase uc = (UserControlCommonBase)r.control; uc.SetTransparency(on, curcol); } }
public override void SetTransparency(bool on, Color curcol) { this.BackColor = curcol; panelPlayfield.BackColor = curcol; (panelPlayfield.Controls[0] as SplitContainer).RunActionOnSplitterTree((p, c) => // runs on each split panel node exactly.. { UserControlCommonBase uccb = ((c is ExtendedControls.TabStrip) ? ((c as ExtendedControls.TabStrip).CurrentControl) : c) as UserControlCommonBase; if (uccb != null) // tab strip may not have a control set.. { uccb.SetTransparency(on, curcol); } }); }
public void UpdateTransparency() { //System.Diagnostics.Debug.WriteLine("UCF UpdateTrans+"); curwindowsborder = (!IsTransparent && defwindowsborder); // we have a border if not transparent and we have a def border bool showtransparent = IsTransparent && !inpanelshow; // are we transparent.. must not be in panel show if (beforetransparency.IsFullyTransparent()) // record colour before transparency, dynamically { beforetransparency = this.BackColor; tkey = this.TransparencyKey; //System.Diagnostics.Debug.WriteLine("Record colour " + beforetransparency.ToString() + " tkey " + this.TransparencyKey); } UpdateControls(); //System.Diagnostics.Debug.WriteLine(Text + " tr " + transparentmode); this.TransparencyKey = (showtransparent) ? TransparencyColorKey : tkey; Color togo = (showtransparent) ? TransparencyColorKey : beforetransparency; this.BackColor = togo; statusStripBottom.BackColor = togo; panel_taskbaricon.BackColor = panel_transparent.BackColor = panel_close.BackColor = panel_minimize.BackColor = panel_ontop.BackColor = panel_showtitle.BackColor = extButtonDrawnHelp.BackColor = panelTop.BackColor = togo; label_index.ForeColor = labelControlText.ForeColor = showtransparent ? labeltransparentcolour : labelnormalcolour; UserControl.SetTransparency(showtransparent, togo); PerformLayout(); if (Environment.OSVersion.Platform == PlatformID.Win32NT) { // if in transparent click thru, we set transparent style.. else clear it. BaseUtils.Win32.UnsafeNativeMethods.ChangeWindowLong(this.Handle, BaseUtils.Win32.UnsafeNativeMethods.GWL.ExStyle, WS_EX.TRANSPARENT, showtransparent && TransparentMode == TransparencyMode.OnFullyTransparent ? WS_EX.TRANSPARENT : 0); } if (showtransparent || inpanelshow) // timer needed if transparent, or if in panel show { timer.Start(); } else { timer.Stop(); } //System.Diagnostics.Debug.WriteLine("UCF UpdateTrans-"); }
public override void SetTransparency(bool on, Color curcol) { //System.Diagnostics.Debug.WriteLine("Splitter panel to tx " + on + " " + curcol); this.BackColor = curcol; panelPlayfield.BackColor = curcol; (panelPlayfield.Controls[0] as SplitContainer).RunActionOnSplitterTree((p, c) => // runs on each split panel node exactly.. { ExtendedControls.TabStrip ts = c as ExtendedControls.TabStrip; ts.StripBackColor = curcol; // make sure the strip gets the correct colour.. UserControlCommonBase uccb = (ts != null ? (ts.CurrentControl) : c) as UserControlCommonBase; if (uccb != null) // tab strip may not have a control set.. { uccb.SetTransparency(on, curcol); } }); }