public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.CP_BACKGROUND:
            case Parts.CP_CUEBANNER:
                return(RenderBackground(ctx, prect));

            case Parts.CP_BORDER:
                return(RenderBorder(ctx, stateid, prect));

            case Parts.CP_DROPDOWNBUTTON:
            case Parts.CP_DROPDOWNBUTTONRIGHT:
            case Parts.CP_DROPDOWNBUTTONLEFT:
                return(RenderDropDownButton(ctx, (State.DropDown)stateid, prect));

            case Parts.CP_READONLY:
                return(RenderReadonlyDropDown(ctx, stateid, prect));

            // case Parts.CP_TRANSPARENTBACKGROUND:
            default:
                return(Unhandled);
            }
        }
Beispiel #2
0
 public virtual int RenderBackgroundEx(
     IntPtr htheme, IntPtr hdc,
     int partid, int stateid,
     NativeMethods.RECTCLS prect, ref NativeMethods.DTBGOPTS poptions)
 {
     return(Unhandled);
 }
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.LVP_GROUPHEADERLINE:
                return(RenderGroupHeaderLine(ctx, prect));

            case Parts.LVP_EXPANDBUTTON:
                return(RenderExpandButton(ctx, (State.ExpandButton)stateid, prect));

            case Parts.LVP_COLLAPSEBUTTON:
                return(RenderCollapseButton(ctx, (State.CollapseButton)stateid, prect));

            case Parts.LVP_LISTITEM:
                return(RenderItemBackground(ctx, (State.ListItem)stateid, prect));

            case Parts.LVP_COLUMNDETAIL:
                return(RenderColumnDetail(ctx, prect));

            default:
                return(Unhandled);
            }
        }
Beispiel #4
0
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.BP_GROUPBOX:
                RenderGroupBox(ctx, prect);
                return(Handled);

            case Parts.BP_PUSHBUTTON:
                RenderPushButton(ctx, (State.Push)stateid, prect);
                return(Handled);

            case Parts.BP_CHECKBOX:
                return(RenderCheckBox(ctx, (State.CheckBox)stateid, prect));

            case Parts.BP_RADIOBUTTON:
                RenderRadio(ctx, (State.Radio)stateid, prect);
                break;

            default:
                return(Unhandled);
            }

            return(Handled);
        }
Beispiel #5
0
 public override int RenderBackground(IntPtr hdc, int partId, int stateId, Rectangle prect,
                                      NativeMethods.RECTCLS pcliprect)
 {
     using var ctx = CreateRenderContext(hdc, pcliprect);
     return((Parts)partId switch
     {
         Parts.SPNP_UP => RenderUpButton(ctx, stateId, prect),
         Parts.SPNP_DOWN => RenderDownButton(ctx, stateId, prect),
         _ => Unhandled
     });
Beispiel #6
0
 public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                      NativeMethods.RECTCLS pcliprect)
 {
     using var ctx = CreateRenderContext(hdc, pcliprect);
     return((Parts)partid switch
     {
         Parts.EP_EDITTEXT => RenderEditText(ctx, stateid, prect),
         Parts.EP_EDITBORDER_NOSCROLL => RenderEditBorderNoScroll(ctx, stateid, prect),
         _ => Unhandled
     });
 public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                      NativeMethods.RECTCLS pcliprect)
 {
     using var ctx = CreateRenderContext(hdc, pcliprect);
     return((Parts)partid switch
     {
         Parts.TVP_GLYPH => RenderGlyph(ctx, (State.Glyph)stateid, prect),
         Parts.TVP_HOTGLYPH => RenderHotTrackedGlyph(ctx, (State.HotGlyph)stateid, prect),
         Parts.TVP_TREEITEM => RenderItemBackground(ctx, (State.Item)stateid, prect),
         _ => Unhandled
     });
        public override int RenderBackground(IntPtr hdc, int partId, int stateId, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            DrawBackground(ctx, partId, stateId, prect);
            if ((Parts)partId == Parts.SBP_ARROWBTN)
            {
                DrawArrow(ctx, (States.ArrowButton)stateId, prect);
            }

            return(Handled);
        }
Beispiel #9
0
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.EP_EDITTEXT:
                return(RenderEditText(ctx, stateid, prect));

            case Parts.EP_EDITBORDER_NOSCROLL:
                return(RenderEditBorderNoScroll(ctx, stateid, prect));
            }

            return(Unhandled);
        }
Beispiel #10
0
        public override int RenderBackground(IntPtr hdc, int partId, int stateId, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partId)
            {
            case Parts.SPNP_UP:
                return(RenderUpButton(ctx, stateId, prect));

            case Parts.SPNP_DOWN:
                return(RenderDownButton(ctx, stateId, prect));

            default:
                return(Unhandled);
            }
        }
Beispiel #11
0
        public override int RenderBackground(IntPtr hdc, int partId, int stateId, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using (var ctx = CreateRenderContext(hdc, pcliprect))
            {
                switch ((Parts)partId)
                {
                case Parts.None:
                {
                    ctx.Graphics.FillRectangle(SystemBrushes.Control, prect);
                    return(Handled);
                }

                case Parts.HP_HEADERITEM:
                {
                    var backBrush = GetBackBrush((State.Item)stateId);
                    ctx.Graphics.FillRectangle(backBrush, prect);
                    ctx.Graphics.DrawLine(SystemPens.ControlDark,
                                          new Point(prect.Right - 1, prect.Top),
                                          new Point(prect.Right - 1, prect.Bottom - 1));
                    return(Handled);
                }

                case Parts.HP_HEADERSORTARROW:
                {
                    var arrowPoints = GetArrowPolygon((State.SortArrow)stateId, prect);
                    ctx.Graphics.FillRectangle(SystemBrushes.Control, prect);
                    using (ctx.HighQuality())
                    {
                        ctx.Graphics.FillPolygon(SystemBrushes.ControlDarkDark, arrowPoints);
                    }

                    return(Handled);
                }

                // case Parts.HP_HEADERITEMLEFT:
                // case Parts.HP_HEADERITEMRIGHT:
                // case Parts.HP_HEADERDROPDOWN:
                // case Parts.HP_HEADERDROPDOWNFILTER:
                // case Parts.HP_HEADEROVERFLOW:
                default:
                {
                    return(Unhandled);
                }
                }
            }
        }
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.TVP_GLYPH:
                return(RenderGlyph(ctx, (State.Glyph)stateid, prect));

            case Parts.TVP_HOTGLYPH:
                return(RenderHotTrackedGlyph(ctx, (State.HotGlyph)stateid, prect));

            case Parts.TVP_TREEITEM:
                return(RenderItemBackground(ctx, (State.Item)stateid, prect));

            default:
                return(Unhandled);
            }
        }
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                             NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.TTP_STANDARD:
            case Parts.TTP_STANDARDTITLE:
            case Parts.TTP_BALLOON:
            case Parts.TTP_BALLOONTITLE:
                ctx.Graphics.FillRectangle(SystemBrushes.Info, prect);
                ctx.Graphics.DrawRectangle(SystemPens.ControlDark, prect.Inclusive());
                return(Handled);

            // case Parts.TTP_BALLOONSTEM:
            // case Parts.TTP_CLOSE:
            // case Parts.TTP_WRENCH:
            default:
                return(Unhandled);
            }
        }
Beispiel #14
0
        public override int RenderBackgroundEx(
            IntPtr htheme, IntPtr hdc,
            int partid, int stateid,
            NativeMethods.RECTCLS prect, ref NativeMethods.DTBGOPTS poptions)
        {
            switch ((Parts)partid)
            {
            case Parts.LVP_LISTDETAIL:
                CheckBoxState state;
                switch ((State.ListItem)stateid)
                {
                case State.ListItem.LISS_NORMAL:
                    state = CheckBoxState.UncheckedNormal;
                    break;

                case State.ListItem.LISS_SELECTEDNOTFOCUS:
                    state = CheckBoxState.CheckedNormal;
                    break;

                default:
                    return(Unhandled);
                }

                using (var ctx = CreateRenderContext(hdc, clip: null))
                {
                    CheckBoxRenderer.DrawCheckBox(
                        ctx.Graphics,
                        new Point(prect.Left, prect.Top),
                        state);
                }

                return(Handled);

            default:
                return(Unhandled);
            }
        }
Beispiel #15
0
        public override int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect, NativeMethods.RECTCLS pcliprect)
        {
            using var ctx = CreateRenderContext(hdc, pcliprect);
            switch ((Parts)partid)
            {
            case Parts.TABP_TOPTABITEM:
            case Parts.TABP_TOPTABITEMRIGHTEDGE:
            case Parts.TABP_TOPTABITEMLEFTEDGE:
            case Parts.TABP_TOPTABITEMBOTHTEDGE:
                RenderTab((Parts)partid, (States)stateid, prect, ctx);
                return(Handled);

            case Parts.TABP_PANE:
                RenderPane(ctx, prect);
                return(Handled);

            // case Parts.TABP_TABITEM:
            // case Parts.TABP_TABITEMRIGHTEDGE:
            // case Parts.TABP_TABITEMLEFTEDGE:
            // case Parts.TABP_TABITEMBOTHTEDGE:
            // case Parts.TABP_BODY:
            // case Parts.TABP_AEROWIZARDBODY:
            default:
                return(Unhandled);
            }
        }
Beispiel #16
0
 public Context(IntPtr hdc, NativeMethods.RECTCLS clip)
 {
     _hdc          = hdc;
     _clip         = clip;
     _graphicsLazy = new Lazy <Graphics>(CreateGraphics);
 }
Beispiel #17
0
 protected Context CreateRenderContext(IntPtr hdc, NativeMethods.RECTCLS clip) =>
 new Context(hdc, clip);
Beispiel #18
0
 public virtual int RenderBackground(IntPtr hdc, int partid, int stateid, Rectangle prect,
                                     NativeMethods.RECTCLS pcliprect)
 {
     return(Unhandled);
 }