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);
                }
            });
        }
示例#3
0
        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-");
        }
示例#4
0
        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);
                }
            });
        }