protected override void OnDrawItem(DrawItemEventArgs e) { var text = (Items.Count > 0) ? GetItemText(Items[e.Index]) : Name; Rectangle r = e.Bounds; Point p; var flags = TextFormatFlags.Default | TextFormatFlags.NoPrefix; var selected = (e.State & DrawItemState.Selected) == DrawItemState.Selected; var state = selected ? (Enabled ? RadioButtonState.CheckedNormal : RadioButtonState.CheckedDisabled) : (Enabled ? RadioButtonState.UncheckedNormal : RadioButtonState.UncheckedDisabled); if (RightToLeft == RightToLeft.Yes) { p = new Point(r.Right - r.Height + (ItemHeight - m_Size.Width) / 2, r.Top + (ItemHeight - m_Size.Height) / 2); r = new Rectangle(r.Left, r.Top, r.Width - r.Height, r.Height); flags |= TextFormatFlags.RightToLeft | TextFormatFlags.Right; } else { p = new Point(r.Left + (ItemHeight - m_Size.Width) / 2, r.Top + (ItemHeight - m_Size.Height) / 2); r = new Rectangle(r.Left + r.Height, r.Top, r.Width - r.Height, r.Height); } var bc = selected ? (Enabled ? SystemColors.Highlight : SystemColors.InactiveBorder) : BackColor; var fc = selected ? (Enabled ? SystemColors.HighlightText : SystemColors.GrayText) : ForeColor; using (var b = new SolidBrush(bc)) e.Graphics.FillRectangle(b, e.Bounds); RadioButtonRenderer.DrawRadioButton(e.Graphics, p, state); TextRenderer.DrawText(e.Graphics, text, Font, r, fc, bc, flags); e.DrawFocusRectangle(); base.OnDrawItem(e); }
private ImageList CrtRadBtnImg() { var lst = new ImageList(); for (int i = 0; i < 2; i++) { Bitmap bmp = new Bitmap(16, 16); Graphics chkGraphics = Graphics.FromImage(bmp); switch (i) { // 0,1 - offset the checkbox slightly so it positions in the correct place case 0: RadioButtonRenderer.DrawRadioButton(chkGraphics, new Point(0, 1), System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal); break; case 1: RadioButtonRenderer.DrawRadioButton(chkGraphics, new Point(0, 1), System.Windows.Forms.VisualStyles.RadioButtonState.CheckedNormal); break; } lst.Images.Add(bmp); } return(lst); }
protected override void OnPaintBackground(PaintEventArgs p) { if (innerbgbuffer != null) { innerbgbuffer.Graphics.Clear(this.BackColor); if (this.BackgroundImage != null || Parent == null) { base.OnPaintBackground(new PaintEventArgs(innerbgbuffer.Graphics, p.ClipRectangle)); } else { RadioButtonRenderer.DrawParentBackground(innerbgbuffer.Graphics, p.ClipRectangle, this); } p.Graphics.DrawImage(innerbgbuffer.Bitmap, p.ClipRectangle, p.ClipRectangle, GraphicsUnit.Pixel); } else { base.OnPaintBackground(p); if (this.BackColor == Color.Transparent && Parent != null) { RadioButtonRenderer.DrawParentBackground(p.Graphics, p.ClipRectangle, this); } } }
// Let the item paint itself, and then paint the RadioButton // where the check mark is displayed, covering the check mark // if it is present. protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // If the client sets the Image property, the selection behavior // remains unchanged, but the RadioButton is not displayed and the // selection is indicated only by the selection rectangle. if (Image != null) { return; } // Determine the correct state of the RadioButton. RadioButtonState buttonState = RadioButtonState.UncheckedNormal; if (Enabled) { if (mouseDownState) { if (Checked) { buttonState = RadioButtonState.CheckedPressed; } else { buttonState = RadioButtonState.UncheckedPressed; } } else if (mouseHoverState) { if (Checked) { buttonState = RadioButtonState.CheckedHot; } else { buttonState = RadioButtonState.UncheckedHot; } } else { if (Checked) { buttonState = RadioButtonState.CheckedNormal; } } } else { if (Checked) { buttonState = RadioButtonState.CheckedDisabled; } else { buttonState = RadioButtonState.UncheckedDisabled; } } // Calculate the position at which to display the RadioButton. int offset = (ContentRectangle.Height - RadioButtonRenderer.GetGlyphSize(e.Graphics, buttonState).Height) / 2; Point imageLocation = new Point(ContentRectangle.Location.X + 4, ContentRectangle.Location.Y + offset); // If the item is selected and the RadioButton paints with partial // transparency, such as when theming is enabled, the check mark // shows through the RadioButton image. In this case, paint a // non-transparent background first to cover the check mark. if (Checked && RadioButtonRenderer.IsBackgroundPartiallyTransparent(buttonState)) { Size glyphSize = RadioButtonRenderer.GetGlyphSize(e.Graphics, buttonState); glyphSize.Height--; glyphSize.Width--; Rectangle backgroundRectangle = new Rectangle(imageLocation, glyphSize); e.Graphics.FillEllipse(SystemBrushes.Control, backgroundRectangle); } RadioButtonRenderer.DrawRadioButton(e.Graphics, imageLocation, buttonState); }
// Main paiting method protected override void OnDrawItem(DrawItemEventArgs e) { int maxItem = Items.Count - 1; if (e.Index < 0 || e.Index > maxItem) { // Erase all background if control has no items e.Graphics.FillRectangle(_backBrush, ClientRectangle); return; } // Calculate bounds for background, if last item paint up to bottom of control var backRect = e.Bounds; if (e.Index == maxItem) { backRect.Height = ClientRectangle.Top + ClientRectangle.Height - e.Bounds.Top; } e.Graphics.FillRectangle(_backBrush, backRect); // Determines text color/brush Brush textBrush; var isChecked = (e.State & DrawItemState.Selected) == DrawItemState.Selected; var state = isChecked ? RadioButtonState.CheckedNormal : RadioButtonState.UncheckedNormal; if ((e.State & DrawItemState.Disabled) == DrawItemState.Disabled) { textBrush = SystemBrushes.GrayText; state = isChecked ? RadioButtonState.CheckedDisabled : RadioButtonState.UncheckedDisabled; } else if ((e.State & DrawItemState.Grayed) == DrawItemState.Grayed) { textBrush = SystemBrushes.GrayText; state = isChecked ? RadioButtonState.CheckedDisabled : RadioButtonState.UncheckedDisabled; } else { textBrush = SystemBrushes.FromSystemColor(ForeColor); } // Determines bounds for text and radio button var glyphSize = RadioButtonRenderer.GetGlyphSize(e.Graphics, state); var glyphLocation = e.Bounds.Location; glyphLocation.Y += (e.Bounds.Height - glyphSize.Height) / 2; var bounds = new Rectangle(e.Bounds.X + glyphSize.Width, e.Bounds.Y, e.Bounds.Width - glyphSize.Width, e.Bounds.Height); // Draws the radio button RadioButtonRenderer.DrawRadioButton(e.Graphics, glyphLocation, state); // Draws the text if (!string.IsNullOrEmpty(DisplayMember)) // Bound Datatable? Then show the column written in Displaymember { e.Graphics.DrawString(((System.Data.DataRowView)Items[e.Index])[DisplayMember].ToString(), e.Font, textBrush, bounds, _align); } else { e.Graphics.DrawString(Items[e.Index].ToString(), e.Font, textBrush, bounds, _align); } // If the ListBox has focus, draw a focus rectangle around the selected item. e.DrawFocusRectangle(); }
protected override void OnDrawItem(DrawItemEventArgs e) { if (e.Index < 0) { return; } if (e.Index > this.Items.Count - 1) { return; } int size = e.Font.Height; // button size depends on font height, not on item height if (IsTransparent && e.State != DrawItemState.Selected) { e.Graphics.FillRectangle(TransparentBrush, e.Bounds); } else { e.DrawBackground(); } Brush textBrush; bool isChecked = (e.State & DrawItemState.Selected) == DrawItemState.Selected; RadioButtonState state = isChecked ? RadioButtonState.CheckedNormal : RadioButtonState.UncheckedNormal; if ((e.State & DrawItemState.Disabled) == DrawItemState.Disabled) { textBrush = SystemBrushes.GrayText; state = isChecked ? RadioButtonState.CheckedDisabled : RadioButtonState.UncheckedDisabled; } else if ((e.State & DrawItemState.Grayed) == DrawItemState.Grayed) { textBrush = SystemBrushes.GrayText; state = isChecked ? RadioButtonState.CheckedDisabled : RadioButtonState.UncheckedDisabled; } else if ((e.State & DrawItemState.Selected) == DrawItemState.Selected && !Transparent) { textBrush = SystemBrushes.HighlightText; } else { textBrush = SystemBrushes.FromSystemColor(this.ForeColor); } // Draw radio button Rectangle bounds = e.Bounds; bounds.Width = size; RadioButtonRenderer.DrawRadioButton(e.Graphics, bounds.Location, state); // Draw text bounds = new Rectangle(e.Bounds.X + size + 2, e.Bounds.Y, e.Bounds.Width - size - 2, e.Bounds.Height); if (!string.IsNullOrEmpty(DisplayMember)) // Bound Datatable? Then show the column written in Displaymember { e.Graphics.DrawString(((System.Data.DataRowView) this.Items[e.Index])[this.DisplayMember].ToString(), e.Font, textBrush, bounds, this.Align); } else { e.Graphics.DrawString(this.Items[e.Index].ToString(), e.Font, textBrush, bounds, this.Align); } // If the ListBox has focus, // draw a focus rectangle around the selected item. e.DrawFocusRectangle(); }
protected void DrawCheckBox(PaintEventArgs e, LayoutData layout) { Graphics g = e.Graphics; Rectangle check = layout.checkBounds; if (!Application.RenderWithVisualStyles) { check.X--; // compensate for Windows drawing slightly offset to right } ButtonState style = GetState(); if (Application.RenderWithVisualStyles) { RadioButtonRenderer.DrawRadioButton(g, new Point(check.Left, check.Top), RadioButtonRenderer.ConvertFromButtonState(style, Control.MouseIsOver), Control.HandleInternal); } else { ControlPaint.DrawRadioButton(g, check, style); } }
protected void DrawCheckBox(PaintEventArgs e, ButtonBaseAdapter.LayoutData layout) { Graphics g = e.Graphics; Rectangle checkBounds = layout.checkBounds; if (!Application.RenderWithVisualStyles) { checkBounds.X--; } ButtonState state = this.GetState(); if (Application.RenderWithVisualStyles) { RadioButtonRenderer.DrawRadioButton(g, new Point(checkBounds.Left, checkBounds.Top), RadioButtonRenderer.ConvertFromButtonState(state, this.Control.MouseIsOver)); } else { ControlPaint.DrawRadioButton(g, checkBounds, state); } }
/// <summary> /// Renders the supplied RadioButton_t as XAML. /// </summary> /// <param name="control">RadioButton_t to render.</param> public void Visit(RadioButton_t control) { RadioButtonRenderer.Render(_writer, control); }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (comboBox1.SelectedItem == null) { return; } Graphics g = e.Graphics; Image i = Image.FromFile(@"accessories-character-map.png"); Font f = new Font("Microsoft Sans Serif", 8); switch (comboBox1.SelectedItem.ToString()) { case "ButtonRenderer": ButtonRenderer.DrawButton(g, new Rectangle(0, 125, 75, 23), System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(0, 25, 75, 23), System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(0, 50, 75, 23), System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(0, 75, 75, 23), System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(0, 100, 75, 23), System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(100, 125, 75, 23), true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(100, 25, 75, 23), true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(100, 50, 75, 23), true, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(100, 75, 75, 23), true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(100, 100, 75, 23), true, System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(200, 125, 75, 23), i, new Rectangle(200, 128, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(200, 25, 75, 23), i, new Rectangle(203, 28, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(200, 50, 75, 23), i, new Rectangle(203, 53, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(200, 75, 75, 23), i, new Rectangle(203, 78, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(200, 100, 75, 23), i, new Rectangle(203, 103, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(300, 125, 75, 23), "Hi there button!", f, true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(300, 25, 75, 23), "Hi there button!", f, true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(300, 50, 75, 23), "Hi there button!", f, false, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(300, 75, 75, 23), "Hi there button!", f, true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(300, 100, 75, 23), "Hi there button!", f, false, System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(400, 125, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(400, 25, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(400, 50, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, false, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(400, 75, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(400, 100, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, false, System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(500, 125, 75, 23), "Hi there button!", f, i, new Rectangle(500, 128, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(500, 25, 75, 23), "Hi there button!", f, i, new Rectangle(500, 28, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(500, 50, 75, 23), "Hi there button!", f, i, new Rectangle(500, 53, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(500, 75, 75, 23), "Hi there button!", f, i, new Rectangle(500, 78, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(500, 100, 75, 23), "Hi there button!", f, i, new Rectangle(500, 103, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Normal); ButtonRenderer.DrawButton(g, new Rectangle(600, 125, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, i, new Rectangle(600, 128, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Pressed); ButtonRenderer.DrawButton(g, new Rectangle(600, 25, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, i, new Rectangle(600, 28, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Default); ButtonRenderer.DrawButton(g, new Rectangle(600, 50, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, i, new Rectangle(600, 53, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Disabled); ButtonRenderer.DrawButton(g, new Rectangle(600, 75, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, i, new Rectangle(600, 78, 16, 16), true, System.Windows.Forms.VisualStyles.PushButtonState.Hot); ButtonRenderer.DrawButton(g, new Rectangle(600, 100, 75, 23), "Hi there button!", f, TextFormatFlags.Left & TextFormatFlags.WordEllipsis, i, new Rectangle(600, 103, 16, 16), false, System.Windows.Forms.VisualStyles.PushButtonState.Normal); break; case "CheckBoxRenderer": CheckBoxRenderer.DrawCheckBox(g, new Point(5, 5), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 5, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 4, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.CheckedDisabled); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 25), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 25, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 24, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.CheckedHot); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 45), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 45, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 44, 16, 16), true, System.Windows.Forms.VisualStyles.CheckBoxState.CheckedNormal); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 65), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 65, 75, 14), "checkBox1", f, TextFormatFlags.Default, false, System.Windows.Forms.VisualStyles.CheckBoxState.CheckedPressed); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 85), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 85, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 84, 16, 16), true, System.Windows.Forms.VisualStyles.CheckBoxState.MixedDisabled); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 105), System.Windows.Forms.VisualStyles.CheckBoxState.MixedHot); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 125), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 125, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 124, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.MixedNormal); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 145), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 145, 75, 14), "checkBox1", f, i, new Rectangle(90, 144, 16, 16), true, System.Windows.Forms.VisualStyles.CheckBoxState.MixedPressed); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 165), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 165, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 164, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedDisabled); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 185), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 185, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 184, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedHot); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 205), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 205, 75, 14), "checkBox1", f, true, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal); CheckBoxRenderer.DrawCheckBox(g, new Point(5, 225), new Rectangle(8 + CheckBoxRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedNormal).Width, 225, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 224, 16, 16), false, System.Windows.Forms.VisualStyles.CheckBoxState.UncheckedPressed); break; case "ComboBoxRenderer": if (!ComboBoxRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } ComboBoxRenderer.DrawTextBox(e.Graphics, new Rectangle(5, 5, 121, 21), System.Windows.Forms.VisualStyles.ComboBoxState.Normal); ComboBoxRenderer.DrawDropDownButton(e.Graphics, new Rectangle(109, 6, 16, 19), System.Windows.Forms.VisualStyles.ComboBoxState.Normal); ComboBoxRenderer.DrawTextBox(e.Graphics, new Rectangle(5, 35, 121, 21), this.Text, this.Font, System.Windows.Forms.VisualStyles.ComboBoxState.Hot); ComboBoxRenderer.DrawDropDownButton(e.Graphics, new Rectangle(109, 36, 16, 19), System.Windows.Forms.VisualStyles.ComboBoxState.Hot); ComboBoxRenderer.DrawTextBox(e.Graphics, new Rectangle(5, 65, 121, 21), this.Text, this.Font, new Rectangle(8, 65, 57, 21), System.Windows.Forms.VisualStyles.ComboBoxState.Disabled); ComboBoxRenderer.DrawDropDownButton(e.Graphics, new Rectangle(109, 66, 16, 19), System.Windows.Forms.VisualStyles.ComboBoxState.Disabled); ComboBoxRenderer.DrawTextBox(e.Graphics, new Rectangle(5, 95, 121, 21), this.Text, this.Font, TextFormatFlags.WordEllipsis, System.Windows.Forms.VisualStyles.ComboBoxState.Pressed); ComboBoxRenderer.DrawDropDownButton(e.Graphics, new Rectangle(109, 96, 16, 19), System.Windows.Forms.VisualStyles.ComboBoxState.Pressed); break; case "GroupBoxRenderer": Font f2 = new Font("Microsoft Sans Serif", 12); Font f3 = new Font("Microsoft Sans Serif", 14); Font f4 = new Font("Microsoft Sans Serif", 8); GroupBoxRenderer.DrawGroupBox(g, new Rectangle(5, 5, 150, 75), "My Group!", f, Color.Black, TextFormatFlags.Default, System.Windows.Forms.VisualStyles.GroupBoxState.Normal); GroupBoxRenderer.DrawGroupBox(g, new Rectangle(5, 105, 150, 75), "My Group!", f2, Color.Red, System.Windows.Forms.VisualStyles.GroupBoxState.Disabled); GroupBoxRenderer.DrawGroupBox(g, new Rectangle(5, 205, 150, 75), "My Group!", f3, TextFormatFlags.Default, System.Windows.Forms.VisualStyles.GroupBoxState.Normal); GroupBoxRenderer.DrawGroupBox(g, new Rectangle(5, 305, 150, 75), "My Group!", f4, System.Windows.Forms.VisualStyles.GroupBoxState.Disabled); GroupBoxRenderer.DrawGroupBox(g, new Rectangle(5, 405, 150, 75), System.Windows.Forms.VisualStyles.GroupBoxState.Normal); break; case "ProgressBarRenderer": if (!ProgressBarRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } g.DrawString("ChunkSpaceThickness: " + ProgressBarRenderer.ChunkSpaceThickness.ToString(), this.Font, Brushes.Black, 0, 0); g.DrawString("ChunkThickness: " + ProgressBarRenderer.ChunkThickness.ToString(), this.Font, Brushes.Black, 0, 20); ProgressBarRenderer.DrawHorizontalBar(g, new Rectangle(5, 40, 100, 20)); ProgressBarRenderer.DrawHorizontalChunks(g, new Rectangle(7, 42, 47, 16)); ProgressBarRenderer.DrawVerticalBar(g, new Rectangle(110, 40, 20, 100)); ProgressBarRenderer.DrawVerticalChunks(g, new Rectangle(112, 42, 16, 47)); break; case "RadioButtonRenderer": RadioButtonRenderer.DrawRadioButton(g, new Point(5, 5), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 5, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 4, 16, 16), false, System.Windows.Forms.VisualStyles.RadioButtonState.CheckedDisabled); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 25), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 25, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 24, 16, 16), false, System.Windows.Forms.VisualStyles.RadioButtonState.CheckedHot); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 45), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 45, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 44, 16, 16), true, System.Windows.Forms.VisualStyles.RadioButtonState.CheckedNormal); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 65), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 65, 75, 14), "checkBox1", f, TextFormatFlags.Default, false, System.Windows.Forms.VisualStyles.RadioButtonState.CheckedPressed); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 85), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 85, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 84, 16, 16), true, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedDisabled); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 105), System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedHot); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 125), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 125, 75, 14), "checkBox1", f, TextFormatFlags.Default, i, new Rectangle(90, 124, 16, 16), false, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal); RadioButtonRenderer.DrawRadioButton(g, new Point(5, 145), new Rectangle(8 + RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedNormal).Width, 145, 75, 14), "checkBox1", f, i, new Rectangle(90, 144, 16, 16), true, System.Windows.Forms.VisualStyles.RadioButtonState.UncheckedPressed); break; case "ScrollBarRenderer": if (!ScrollBarRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } ScrollBarRenderer.DrawArrowButton(g, new Rectangle(5, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.DownDisabled); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(25, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.DownHot); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(45, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.DownNormal); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(65, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.DownPressed); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(85, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.LeftDisabled); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(105, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.LeftHot); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(125, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.LeftNormal); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(145, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.LeftPressed); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(165, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.RightDisabled); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(185, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.RightHot); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(205, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.RightNormal); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(225, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.RightPressed); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(245, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.UpDisabled); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(265, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.UpHot); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(285, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.UpNormal); ScrollBarRenderer.DrawArrowButton(g, new Rectangle(305, 5, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarArrowButtonState.UpPressed); ScrollBarRenderer.DrawHorizontalThumb(g, new Rectangle(5, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawHorizontalThumb(g, new Rectangle(45, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawHorizontalThumb(g, new Rectangle(85, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawHorizontalThumb(g, new Rectangle(125, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawHorizontalThumbGrip(g, new Rectangle(5, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawHorizontalThumbGrip(g, new Rectangle(45, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawHorizontalThumbGrip(g, new Rectangle(85, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawHorizontalThumbGrip(g, new Rectangle(125, 25, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawLeftHorizontalTrack(g, new Rectangle(5, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawLeftHorizontalTrack(g, new Rectangle(45, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawLeftHorizontalTrack(g, new Rectangle(85, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawLeftHorizontalTrack(g, new Rectangle(125, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawLowerVerticalTrack(g, new Rectangle(5, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawLowerVerticalTrack(g, new Rectangle(25, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawLowerVerticalTrack(g, new Rectangle(45, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawLowerVerticalTrack(g, new Rectangle(65, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawRightHorizontalTrack(g, new Rectangle(165, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawRightHorizontalTrack(g, new Rectangle(205, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawRightHorizontalTrack(g, new Rectangle(245, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawRightHorizontalTrack(g, new Rectangle(285, 45, 38, 18), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawSizeBox(g, new Rectangle(5, 105, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarSizeBoxState.LeftAlign); ScrollBarRenderer.DrawSizeBox(g, new Rectangle(25, 105, 18, 18), System.Windows.Forms.VisualStyles.ScrollBarSizeBoxState.RightAlign); ScrollBarRenderer.DrawUpperVerticalTrack(g, new Rectangle(85, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawUpperVerticalTrack(g, new Rectangle(105, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawUpperVerticalTrack(g, new Rectangle(125, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawUpperVerticalTrack(g, new Rectangle(145, 65, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawVerticalThumb(g, new Rectangle(5, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawVerticalThumb(g, new Rectangle(25, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawVerticalThumb(g, new Rectangle(45, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawVerticalThumb(g, new Rectangle(65, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); ScrollBarRenderer.DrawVerticalThumbGrip(g, new Rectangle(5, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Disabled); ScrollBarRenderer.DrawVerticalThumbGrip(g, new Rectangle(25, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Hot); ScrollBarRenderer.DrawVerticalThumbGrip(g, new Rectangle(45, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Normal); ScrollBarRenderer.DrawVerticalThumbGrip(g, new Rectangle(65, 105, 18, 38), System.Windows.Forms.VisualStyles.ScrollBarState.Pressed); g.DrawString(ScrollBarRenderer.GetSizeBoxSize(g, System.Windows.Forms.VisualStyles.ScrollBarState.Normal).ToString(), f, Brushes.Black, new PointF(5, 145)); g.DrawString(ScrollBarRenderer.GetThumbGripSize(g, System.Windows.Forms.VisualStyles.ScrollBarState.Normal).ToString(), f, Brushes.Black, new PointF(5, 165)); break; case "TabRenderer": if (!TabRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } TabRenderer.DrawTabPage(g, new Rectangle(5, 95, 700, 50)); TabRenderer.DrawTabItem(g, new Rectangle(5, 55, 70, 25), System.Windows.Forms.VisualStyles.TabItemState.Normal); TabRenderer.DrawTabItem(g, new Rectangle(95, 55, 70, 25), true, System.Windows.Forms.VisualStyles.TabItemState.Selected); TabRenderer.DrawTabItem(g, new Rectangle(185, 55, 70, 25), "Tab 1", f, System.Windows.Forms.VisualStyles.TabItemState.Normal); TabRenderer.DrawTabItem(g, new Rectangle(275, 55, 70, 25), i, new Rectangle(278, 58, 16, 16), false, System.Windows.Forms.VisualStyles.TabItemState.Hot); TabRenderer.DrawTabItem(g, new Rectangle(365, 55, 70, 25), "Tab 6 is too long", f, true, System.Windows.Forms.VisualStyles.TabItemState.Normal); TabRenderer.DrawTabItem(g, new Rectangle(455, 55, 70, 25), "My Tab Octopus", f, TextFormatFlags.WordEllipsis, false, System.Windows.Forms.VisualStyles.TabItemState.Disabled); TabRenderer.DrawTabItem(g, new Rectangle(545, 55, 70, 25), "Tab 7", f, i, new Rectangle(546, 56, 16, 16), true, System.Windows.Forms.VisualStyles.TabItemState.Normal); TabRenderer.DrawTabItem(g, new Rectangle(635, 55, 70, 25), "Tab 8", f, TextFormatFlags.WordEllipsis, i, new Rectangle(638, 58, 16, 16), false, System.Windows.Forms.VisualStyles.TabItemState.Disabled); break; case "TextBoxRenderer": if (!TextBoxRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } TextBoxRenderer.DrawTextBox(g, new Rectangle(5, 55, 95, 40), System.Windows.Forms.VisualStyles.TextBoxState.Assist); TextBoxRenderer.DrawTextBox(g, new Rectangle(105, 55, 95, 40), "This is my text box text!!!", f, System.Windows.Forms.VisualStyles.TextBoxState.Disabled); TextBoxRenderer.DrawTextBox(g, new Rectangle(205, 55, 95, 40), "This is my text box text!!!", f, new Rectangle(205, 55, 95, 40), System.Windows.Forms.VisualStyles.TextBoxState.Hot); TextBoxRenderer.DrawTextBox(g, new Rectangle(305, 55, 95, 40), "This is my text box text!!!", f, TextFormatFlags.WordEllipsis, System.Windows.Forms.VisualStyles.TextBoxState.Normal); TextBoxRenderer.DrawTextBox(g, new Rectangle(405, 55, 95, 40), "This is my text box text!!!", f, new Rectangle(405, 55, 95, 40), TextFormatFlags.WordEllipsis, System.Windows.Forms.VisualStyles.TextBoxState.Readonly); TextBoxRenderer.DrawTextBox(g, new Rectangle(505, 55, 95, 40), System.Windows.Forms.VisualStyles.TextBoxState.Selected); break; case "TrackBarRenderer": if (!TrackBarRenderer.IsSupported) { g.DrawString("Visual Styles not enabled", f, Brushes.Black, 0, 0); break; } TrackBarRenderer.DrawBottomPointingThumb(g, new Rectangle(5, 5, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawBottomPointingThumb(g, new Rectangle(20, 5, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawBottomPointingThumb(g, new Rectangle(35, 5, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawBottomPointingThumb(g, new Rectangle(50, 5, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawHorizontalThumb(g, new Rectangle(5, 45, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawHorizontalThumb(g, new Rectangle(20, 45, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawHorizontalThumb(g, new Rectangle(35, 45, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawHorizontalThumb(g, new Rectangle(50, 45, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawHorizontalTicks(g, new Rectangle(5, 75, 100, 20), 15, System.Windows.Forms.VisualStyles.EdgeStyle.Bump); TrackBarRenderer.DrawHorizontalTicks(g, new Rectangle(115, 75, 100, 20), 10, System.Windows.Forms.VisualStyles.EdgeStyle.Etched); TrackBarRenderer.DrawHorizontalTicks(g, new Rectangle(225, 75, 100, 20), 5, System.Windows.Forms.VisualStyles.EdgeStyle.Raised); TrackBarRenderer.DrawHorizontalTicks(g, new Rectangle(335, 75, 100, 20), 25, System.Windows.Forms.VisualStyles.EdgeStyle.Sunken); TrackBarRenderer.DrawHorizontalTrack(g, new Rectangle(5, 120, 100, 20)); TrackBarRenderer.DrawLeftPointingThumb(g, new Rectangle(5, 145, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawLeftPointingThumb(g, new Rectangle(25, 145, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawLeftPointingThumb(g, new Rectangle(45, 145, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawLeftPointingThumb(g, new Rectangle(65, 145, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawRightPointingThumb(g, new Rectangle(5, 165, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawRightPointingThumb(g, new Rectangle(25, 165, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawRightPointingThumb(g, new Rectangle(45, 165, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawRightPointingThumb(g, new Rectangle(65, 165, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawTopPointingThumb(g, new Rectangle(5, 185, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawTopPointingThumb(g, new Rectangle(20, 185, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawTopPointingThumb(g, new Rectangle(35, 185, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawTopPointingThumb(g, new Rectangle(50, 185, 12, 20), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawVerticalThumb(g, new Rectangle(5, 215, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled); TrackBarRenderer.DrawVerticalThumb(g, new Rectangle(25, 215, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot); TrackBarRenderer.DrawVerticalThumb(g, new Rectangle(45, 215, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal); TrackBarRenderer.DrawVerticalThumb(g, new Rectangle(65, 215, 20, 12), System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed); TrackBarRenderer.DrawVerticalTicks(g, new Rectangle(5, 230, 20, 100), 15, System.Windows.Forms.VisualStyles.EdgeStyle.Bump); TrackBarRenderer.DrawVerticalTicks(g, new Rectangle(50, 230, 20, 100), 10, System.Windows.Forms.VisualStyles.EdgeStyle.Etched); TrackBarRenderer.DrawVerticalTicks(g, new Rectangle(95, 230, 20, 100), 5, System.Windows.Forms.VisualStyles.EdgeStyle.Raised); TrackBarRenderer.DrawVerticalTicks(g, new Rectangle(140, 230, 20, 100), 25, System.Windows.Forms.VisualStyles.EdgeStyle.Sunken); TrackBarRenderer.DrawVerticalTrack(g, new Rectangle(185, 230, 20, 100)); g.DrawString(TrackBarRenderer.GetBottomPointingThumbSize(g, System.Windows.Forms.VisualStyles.TrackBarThumbState.Normal).ToString(), f, Brushes.Black, new Point(5, 340)); g.DrawString(TrackBarRenderer.GetLeftPointingThumbSize(g, System.Windows.Forms.VisualStyles.TrackBarThumbState.Hot).ToString(), f, Brushes.Black, new Point(5, 370)); g.DrawString(TrackBarRenderer.GetRightPointingThumbSize(g, System.Windows.Forms.VisualStyles.TrackBarThumbState.Disabled).ToString(), f, Brushes.Black, new Point(5, 400)); g.DrawString(TrackBarRenderer.GetTopPointingThumbSize(g, System.Windows.Forms.VisualStyles.TrackBarThumbState.Pressed).ToString(), f, Brushes.Black, new Point(5, 430)); break; default: break; } }
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); RadioButtonState state; TextFormatFlags flags = TextFormatFlags.VerticalCenter; for (int i = 0; i < Count; i++) { if (i == fSelectedIndex) { if (Enabled) { if (i == fDownedIndex) { state = RadioButtonState.CheckedPressed; } else if (i == fHoveredIndex) { state = RadioButtonState.CheckedHot; } else { state = RadioButtonState.CheckedNormal; } } else { state = RadioButtonState.CheckedDisabled; } } else { if (Enabled) { if (i == fDownedIndex) { state = RadioButtonState.UncheckedPressed; } else if (i == fHoveredIndex) { state = RadioButtonState.UncheckedHot; } else { state = RadioButtonState.UncheckedNormal; } } else { state = RadioButtonState.UncheckedDisabled; } } Rectangle r = fItems[i].Rect; r.X = r.X + 18; Point p = fItems[i].Rect.Location; p.Y = p.Y + r.Height / 2 - 6; RadioButtonRenderer.DrawRadioButton(e.Graphics, p, r, fItems[i].Text, this.Font, flags, this.Focused, state); } }
/// <summary> /// Gets the size of the image used to display the button. /// </summary> /// <param name="g">Current <see cref="Graphics"/> context.</param> /// <returns>The size of the image.</returns> protected override Size GetButtonSize(Graphics g) => RadioButtonRenderer.GetGlyphSize(g, RadioButtonState.CheckedNormal);
// Paint the RadioButton where the check mark is normally displayed. protected virtual void item_Paint(object sender, PaintEventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; bool bulleted = (item == this.SelectedItem); if (item.Image != null) { // If the client sets the Image property, the selection behavior remains unchanged, but the RadioButton is not // displayed and the selection is indicated only by the selection rectangle. return; } // Determine the correct state of the RadioButton. RadioButtonState buttonState = RadioButtonState.UncheckedNormal; // initial value if (item.Enabled) { if (item.Pressed) { if (bulleted) { buttonState = RadioButtonState.CheckedPressed; } else { buttonState = RadioButtonState.UncheckedPressed; } } else if (item.Selected) { if (bulleted) { buttonState = RadioButtonState.CheckedHot; } else { buttonState = RadioButtonState.UncheckedHot; } } else if (bulleted) { buttonState = RadioButtonState.CheckedNormal; } } else { if (bulleted) { buttonState = RadioButtonState.CheckedDisabled; } else { buttonState = RadioButtonState.UncheckedDisabled; } } // Calculate the position at which to display the RadioButton. int offset = (item.ContentRectangle.Height - RadioButtonRenderer.GetGlyphSize(e.Graphics, buttonState).Height) / 2; Point imageLocation = new Point(item.ContentRectangle.Location.X + 4, item.ContentRectangle.Location.Y + offset); // Paint the RadioButton. RadioButtonRenderer.DrawRadioButton(e.Graphics, imageLocation, buttonState); }
// Let the item paint itself, and then paint the RadioButton // where the check mark is displayed, covering the check mark // if it is present. protected override void OnPaint(PaintEventArgs e) { // If the client sets the Image property, the selection behavior // remains unchanged, but the RadioButton is not displayed and the // selection is indicated only by the selection rectangle. if (Image != null) { base.OnPaint(e); return; } // Determine the correct state of the RadioButton. RadioButtonState buttonState = RadioButtonState.UncheckedNormal; if (Enabled) { if (mouseDownState) { if (Checked) { buttonState = RadioButtonState.CheckedPressed; } else { buttonState = RadioButtonState.UncheckedPressed; } } else if (mouseHoverState) { if (Checked) { buttonState = RadioButtonState.CheckedHot; } else { buttonState = RadioButtonState.UncheckedHot; } } else if (Checked) { buttonState = RadioButtonState.CheckedNormal; } } else if (Checked) { buttonState = RadioButtonState.CheckedDisabled; } else { buttonState = RadioButtonState.UncheckedDisabled; } // Calculate the rectangle at which to display the RadioButton. Size glyphSize = RadioButtonRenderer.GetGlyphSize(e.Graphics, buttonState); Rectangle contentRect = this.ContentRectangle; Point imageLocation = contentRect.Location; float scale = e.Graphics.DpiX / 96f; imageLocation.Offset((int)Math.Round(5f * scale, MidpointRounding.AwayFromZero), (contentRect.Height - glyphSize.Height) / 2); ToolStripRenderer renderer = Owner?.Renderer; if (renderer != null) { renderer.DrawMenuItemBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); int x = (int)(32 * scale); e.Graphics.SetClip(new Rectangle(x, contentRect.Y, Math.Max(contentRect.Width - x, 0), contentRect.Height)); base.OnPaint(e); e.Graphics.ResetClip(); } else { base.OnPaint(e); } // If the item is selected and the RadioButton paints with partial // transparency, such as when theming is enabled, the check mark // shows through the RadioButton image. In this case, paint a // non-transparent background first to cover the check mark. if (Checked && RadioButtonRenderer.IsBackgroundPartiallyTransparent(buttonState)) { e.Graphics.FillEllipse(SystemBrushes.Control, new Rectangle(imageLocation.X, imageLocation.Y, glyphSize.Width - 1, glyphSize.Height - 1)); } RadioButtonRenderer.DrawRadioButton(e.Graphics, imageLocation, buttonState); }
private void STDataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex >= 0) { bool IsSelected = (e.State & DataGridViewElementStates.Selected) == DataGridViewElementStates.Selected; e.Handled = true; Rectangle rect = new Rectangle(e.CellBounds.X, e.CellBounds.Y, e.CellBounds.Width - 1, e.CellBounds.Height - 1); if (IsSelected) { e.Graphics.FillRectangle(new SolidBrush(e.CellStyle.SelectionBackColor), rect); } else { e.Graphics.FillRectangle(new SolidBrush(e.CellStyle.BackColor), rect); } using (Pen pen = new Pen(GridColor)) { e.Graphics.DrawRectangle(pen, e.CellBounds.X - 1, e.CellBounds.Y - 1, e.CellBounds.Width, e.CellBounds.Height); } RadioButtonState state = RadioButtonState.CheckedDisabled; if (e.Value != null) { var TextCell = Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewTextBoxCell; if (TextCell != null) { // Render the cell text. string cellValue = e.FormattedValue.ToString(); // Set the alignment settings. Unfortunately, there's no // straightforward way to get the cell style settings and // convert them to the text alignment values you need here. StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Near; using (Brush valueBrush = new SolidBrush(e.CellStyle.ForeColor)) { e.Graphics.DrawString(cellValue, e.CellStyle.Font, valueBrush, rect, format); } } } try { if (e.Value != null) { var Cell = Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell; if (Cell == null) { return; } bool IsChecked = (bool)(Convert.ToBoolean(Cell.Value) == true); bool IsNotChecked = (bool)(Convert.ToBoolean(Cell.Value) == false); if (IsChecked) { state = RadioButtonState.CheckedNormal; } var size = RadioButtonRenderer.GetGlyphSize(e.Graphics, state); var location = new Point((e.CellBounds.Width - size.Width) / 2, ((e.CellBounds.Height - size.Height) / 2) - 1); location.Offset(e.CellBounds.Location); if (IsChecked) { Color checkedColor = FormThemes.BaseTheme.CheckBoxEnabledBackColor; e.Graphics.FillRectangle(new SolidBrush(checkedColor), new Rectangle(location.X, location.Y, 15, 15)); e.Graphics.DrawImage(this.TickTock, location.X, location.Y, 12, 12); } else if (IsNotChecked) { // e.Graphics.FillRectangle(new SolidBrush(this.BoxColor), new Rectangle(location.X, location.Y, 15, 15)); e.Graphics.FillRectangle(new SolidBrush(this.BoxColor), new Rectangle(location.X, location.Y, 15, 15)); } } } catch (Exception ex) { STErrorDialog.Show("Failed to paint STDataGridView!", "STDataGridView", ex.ToString()); } } return; /* using (Pen gridLinePen = new Pen(gridBrush)) * { * // Erase the cell. * e.Graphics.FillRectangle(backColorBrush, e.CellBounds); * * // Draw the grid lines (only the right and bottom lines; * // DataGridView takes care of the others). * e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, * e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, * e.CellBounds.Bottom - 1); * e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, * e.CellBounds.Top, e.CellBounds.Right - 1, * e.CellBounds.Bottom); * * * // Draw the text content of the cell, ignoring alignment. * if (e.Value != null) * { * e.Graphics.DrawString((String)e.Value, e.CellStyle.Font, * Brushes.Crimson, e.CellBounds.X + 2, * e.CellBounds.Y + 2, StringFormat.GenericDefault); * } * e.Handled = true; */ /* e.Paint(e.CellBounds, DataGridViewPaintParts.All & DataGridViewPaintParts.ContentForeground); * * RadioButtonState state = RadioButtonState.CheckedDisabled; * * var Cell = Rows[e.RowIndex].Cells[e.ColumnIndex]; * * DataGridViewCheckBoxCell chkchecking = Cell as DataGridViewCheckBoxCell; * * bool IsChecked = (bool)(Convert.ToBoolean(chkchecking.Value) == true); * * if (IsChecked) * state = RadioButtonState.CheckedNormal; * * var size = RadioButtonRenderer.GetGlyphSize(e.Graphics, state); * var location = new Point((e.CellBounds.Width - size.Width) / 2, (e.CellBounds.Height - size.Height) / 2); * * //Draw cell * e.Graphics.FillRectangle(new SolidBrush(BackgroundColor), e.CellBounds); * * if (IsChecked) * { * e.Graphics.DrawImage(this.TickTock, location.X, location.Y, 12, 12); * } * else * { * // e.Graphics.FillRectangle(new SolidBrush(this.BoxColor), new Rectangle(location.X, location.Y, 15, 15)); * e.Graphics.FillRectangle(new SolidBrush(this.BoxColor), new Rectangle(location.X, location.Y, 15, 15)); * }*/ }
// Let the item paint itself, and then paint the RadioButton // where the check mark is normally displayed. protected override void OnPaint(PaintEventArgs e) { if (Image != null) { // If the client sets the Image property, the selection behavior // remains unchanged, but the RadioButton is not displayed and the // selection is indicated only by the selection rectangle. base.OnPaint(e); return; } else { // If the Image property is not set, call the base OnPaint method // with the CheckState property temporarily cleared to prevent // the check mark from being painted. CheckState currentState = this.CheckState; this.CheckState = CheckState.Unchecked; base.OnPaint(e); this.CheckState = currentState; } // Determine the correct state of the RadioButton. RadioButtonState buttonState = RadioButtonState.UncheckedNormal; if (Enabled) { if (mouseDownState) { if (Checked) { buttonState = RadioButtonState.CheckedPressed; } else { buttonState = RadioButtonState.UncheckedPressed; } } else if (mouseHoverState) { if (Checked) { buttonState = RadioButtonState.CheckedHot; } else { buttonState = RadioButtonState.UncheckedHot; } } else { if (Checked) { buttonState = RadioButtonState.CheckedNormal; } } } else { if (Checked) { buttonState = RadioButtonState.CheckedDisabled; } else { buttonState = RadioButtonState.UncheckedDisabled; } } // Calculate the position at which to display the RadioButton. Int32 offset = (ContentRectangle.Height - RadioButtonRenderer.GetGlyphSize( e.Graphics, buttonState).Height) / 2; Point imageLocation = new Point( ContentRectangle.Location.X + 4, ContentRectangle.Location.Y + offset); // Paint the RadioButton. RadioButtonRenderer.DrawRadioButton( e.Graphics, imageLocation, buttonState); }
/// <summary> /// Gets the size of the image used to display the button. /// </summary> /// <param name="g">Current <see cref="Graphics"/> context.</param> /// <returns>The size of the image.</returns> protected override Size GetButtonSize(Graphics g) => RadioButtonRenderer.GetGlyphSize(g, System.Windows.Forms.VisualStyles.RadioButtonState.CheckedNormal);