.NET - Overzicht VisualStyleElements
- Datum:
- Auteur: Stefan Cruysberghs
In .NET kan je met de VisualStyleRenderer klasse (namespace System.Windows.Forms.VisualStyles) alle grafische elementen (knop, tab, checkbox, ...) uit het actieve XP Windows thema tekenen op een Graphics klasse (=GDI+ drawing surface).
C# voorbeeld
private void Form1_Paint(object sender, PaintEventArgs e)
{
// Check if XP theme is available
if (Application.RenderWithVisualStyles)
{
// Draw button with size 100,30
if (VisualStyleRenderer.IsElementDefined(
VisualStyleElement.Button.PushButton.Normal))
{
VisualStyleRenderer renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal);
Rectangle buttonRect = new Rectangle(10, 10, 100, 30);
// Draw button
renderer.DrawBackground(e.Graphics, buttonRect);
}
// Draw checked checkbox with default size
if (VisualStyleRenderer.IsElementDefined(
VisualStyleElement.Button.CheckBox.CheckedHot))
{
VisualStyleRenderer renderer = new VisualStyleRenderer(VisualStyleElement.Button.CheckBox.CheckedNormal);
// Get the system-defined size of the element
Graphics g = this.CreateGraphics();
Size checkboxSize = renderer.GetPartSize(g, ThemeSizeType.True);
g.Dispose();
Rectangle checkboxRect = new Rectangle(new Point(10, 50), checkboxSize);
// Draw checkbox
renderer.DrawBackground(e.Graphics, checkboxRect);
}
}
}
Op de MSDN website staat een mooi demo programma waarin je alle VisualStyleElements via een boomstructuur kan bekijken.
- http://msdn2.microsoft.com/en-us/library/system.windows.forms.visualstyles.visualstylerenderer.aspx
- http://msdn2.microsoft.com/en-us/library/system.windows.forms.visualstyles.visualstyleelement.aspx
Soms is het echter handiger om in een visueel overzicht het juiste element te zoeken. Daarom heb ik alle elementen (van het standaard blauwe XP thema) naar PGN afbeeldingen geëxporteerd en hieronder op één pagina verzameld.
Button.PushButton.Normal | ![]() |
ExplorerBar.HeaderBackground.Normal | ![]() |
TrackBar.Track.Normal | ![]() |
Button.PushButton.Hot | ![]() |
ExplorerBar.HeaderClose.Normal | ![]() |
TrackBar.TrackVertical.Normal | ![]() |
Button.PushButton.Pressed | ![]() |
ExplorerBar.HeaderClose.Hot | ![]() |
TrackBar.Thumb.Normal | ![]() |
Button.PushButton.Disabled | ![]() |
ExplorerBar.HeaderClose.Pressed | ![]() |
TrackBar.Thumb.Hot | ![]() |
Button.PushButton.Default | ![]() |
ExplorerBar.HeaderPin.Normal | ![]() |
TrackBar.Thumb.Pressed | ![]() |
Button.RadioButton.UncheckedNormal | ![]() |
ExplorerBar.HeaderPin.Hot | ![]() |
TrackBar.Thumb.Focused | ![]() |
Button.RadioButton.UncheckedHot | ![]() |
ExplorerBar.HeaderPin.Pressed | ![]() |
TrackBar.Thumb.Disabled | ![]() |
Button.RadioButton.UncheckedPressed | ![]() |
ExplorerBar.HeaderPin.SelectedNormal | ![]() |
TrackBar.ThumbBottom.Normal | ![]() |
Button.RadioButton.UncheckedDisabled | ![]() |
ExplorerBar.HeaderPin.SelectedHot | ![]() |
TrackBar.ThumbBottom.Hot | ![]() |
Button.RadioButton.CheckedNormal | ![]() |
ExplorerBar.HeaderPin.SelectedPressed | ![]() |
TrackBar.ThumbBottom.Pressed | ![]() |
Button.RadioButton.CheckedHot | ![]() |
ExplorerBar.IEBarMenu.Normal | ![]() |
TrackBar.ThumbBottom.Focused | ![]() |
Button.RadioButton.CheckedPressed | ![]() |
ExplorerBar.IEBarMenu.Hot | ![]() |
TrackBar.ThumbBottom.Disabled | ![]() |
Button.RadioButton.CheckedDisabled | ![]() |
ExplorerBar.IEBarMenu.Pressed | ![]() |
TrackBar.ThumbTop.Normal | ![]() |
Button.CheckBox.UncheckedNormal | ![]() |
ExplorerBar.NormalGroupBackground.Normal | ![]() |
TrackBar.ThumbTop.Hot | ![]() |
Button.CheckBox.UncheckedHot | ![]() |
ExplorerBar.NormalGroupCollapse.Normal | ![]() |
TrackBar.ThumbTop.Pressed | ![]() |
Button.CheckBox.UncheckedPressed | ![]() |
ExplorerBar.NormalGroupCollapse.Hot | ![]() |
TrackBar.ThumbTop.Focused | ![]() |
Button.CheckBox.UncheckedDisabled | ![]() |
ExplorerBar.NormalGroupCollapse.Pressed | ![]() |
TrackBar.ThumbTop.Disabled | ![]() |
Button.CheckBox.CheckedNormal | ![]() |
ExplorerBar.NormalGroupExpand.Normal | ![]() |
TrackBar.ThumbVertical.Normal | ![]() |
Button.CheckBox.CheckedHot | ![]() |
ExplorerBar.NormalGroupExpand.Hot | ![]() |
TrackBar.ThumbVertical.Hot | ![]() |
Button.CheckBox.CheckedPressed | ![]() |
ExplorerBar.NormalGroupExpand.Pressed | ![]() |
TrackBar.ThumbVertical.Pressed | ![]() |
Button.CheckBox.CheckedDisabled | ![]() |
ExplorerBar.NormalGroupHead.Normal | ![]() |
TrackBar.ThumbVertical.Focused | ![]() |
Button.CheckBox.MixedNormal | ![]() |
ExplorerBar.SpecialGroupBackground.Normal | ![]() |
TrackBar.ThumbVertical.Disabled | ![]() |
Button.CheckBox.MixedHot | ![]() |
ExplorerBar.SpecialGroupCollapse.Normal | ![]() |
TrackBar.ThumbLeft.Normal | ![]() |
Button.CheckBox.MixedPressed | ![]() |
ExplorerBar.SpecialGroupCollapse.Hot | ![]() |
TrackBar.ThumbLeft.Hot | ![]() |
Button.CheckBox.MixedDisabled | ![]() |
ExplorerBar.SpecialGroupCollapse.Pressed | ![]() |
TrackBar.ThumbLeft.Pressed | ![]() |
Button.GroupBox.Normal | ![]() |
ExplorerBar.SpecialGroupExpand.Normal | ![]() |
TrackBar.ThumbLeft.Focused | ![]() |
Button.GroupBox.Disabled | ![]() |
ExplorerBar.SpecialGroupExpand.Hot | ![]() |
TrackBar.ThumbLeft.Disabled | ![]() |
ComboBox.DropDownButton.Normal | ![]() |
ExplorerBar.SpecialGroupExpand.Pressed | ![]() |
TrackBar.ThumbRight.Normal | ![]() |
ComboBox.DropDownButton.Hot | ![]() |
ExplorerBar.SpecialGroupHead.Normal | ![]() |
TrackBar.ThumbRight.Hot | ![]() |
ComboBox.DropDownButton.Pressed | ![]() |
Header.Item.Normal | ![]() |
TrackBar.ThumbRight.Pressed | ![]() |
ComboBox.DropDownButton.Disabled | ![]() |
Header.Item.Hot | ![]() |
TrackBar.ThumbRight.Focused | ![]() |
Spin.Up.Normal | ![]() |
Header.Item.Pressed | ![]() |
TrackBar.ThumbRight.Disabled | ![]() |
Spin.Up.Hot | ![]() |
ProgressBar.Bar.Normal | ![]() |
TrackBar.Ticks.Normal | ![]() |
Spin.Up.Pressed | ![]() |
ProgressBar.BarVertical.Normal | ![]() |
TrackBar.TicksVertical.Normal | ![]() |
Spin.Up.Disabled | ![]() |
ProgressBar.Chunk.Normal | ![]() |
TreeView.Glyph.Closed | ![]() |
Spin.Down.Normal | ![]() |
ProgressBar.ChunkVertical.Normal | ![]() |
TreeView.Glyph.Opened | ![]() |
Spin.Down.Hot | ![]() |
Rebar.Gripper.Normal | ![]() |
TextBox.TextEdit.Normal | ![]() |
Spin.Down.Pressed | ![]() |
Rebar.GripperVertical.Normal | ![]() |
TextBox.TextEdit.Hot | ![]() |
Spin.Down.Disabled | ![]() |
Rebar.Band.Normal | ![]() |
TextBox.TextEdit.Selected | ![]() |
Spin.UpHorizontal.Normal | ![]() |
Rebar.Chevron.Normal | ![]() |
TextBox.TextEdit.Disabled | ![]() |
Spin.UpHorizontal.Hot | ![]() |
Rebar.Chevron.Hot | ![]() |
TextBox.TextEdit.Focused | ![]() |
Spin.UpHorizontal.Pressed | ![]() |
Rebar.Chevron.Pressed | ![]() |
TextBox.TextEdit.ReadOnly | ![]() |
Spin.UpHorizontal.Disabled | ![]() |
Rebar.ChevronVertical.Normal | ![]() |
TextBox.TextEdit.Assist | ![]() |
Spin.DownHorizontal.Normal | ![]() |
Rebar.ChevronVertical.Hot | ![]() |
Window.Caption.Active | ![]() |
Spin.DownHorizontal.Hot | ![]() |
Rebar.ChevronVertical.Pressed | ![]() |
Window.Caption.Inactive | ![]() |
Spin.DownHorizontal.Pressed | ![]() |
StartPanel.UserPane.Normal | ![]() |
Window.Caption.Disabled | ![]() |
Spin.DownHorizontal.Disabled | ![]() |
StartPanel.MorePrograms.Normal | ![]() |
Window.SmallCaption.Active | ![]() |
ScrollBar.ArrowButton.UpNormal | ![]() |
StartPanel.MoreProgramsArrow.Normal | ![]() |
Window.SmallCaption.Inactive | ![]() |
ScrollBar.ArrowButton.UpHot | ![]() |
StartPanel.MoreProgramsArrow.Hot | ![]() |
Window.SmallCaption.Disabled | ![]() |
ScrollBar.ArrowButton.UpPressed | ![]() |
StartPanel.MoreProgramsArrow.Pressed | ![]() |
Window.MinCaption.Active | ![]() |
ScrollBar.ArrowButton.UpDisabled | ![]() |
StartPanel.ProgList.Normal | ![]() |
Window.MinCaption.Inactive | ![]() |
ScrollBar.ArrowButton.DownNormal | ![]() |
StartPanel.ProgListSeparator.Normal | ![]() |
Window.MinCaption.Disabled | ![]() |
ScrollBar.ArrowButton.DownHot | ![]() |
StartPanel.PlaceList.Normal | ![]() |
Window.MaxCaption.Active | ![]() |
ScrollBar.ArrowButton.DownPressed | ![]() |
StartPanel.PlaceListSeparator.Normal | ![]() |
Window.MaxCaption.Inactive | ![]() |
ScrollBar.ArrowButton.DownDisabled | ![]() |
StartPanel.LogOff.Normal | ![]() |
Window.MaxCaption.Disabled | ![]() |
ScrollBar.ArrowButton.LeftNormal | ![]() |
StartPanel.LogOffButtons.Normal | ![]() |
Window.FrameLeft.Active | ![]() |
ScrollBar.ArrowButton.LeftHot | ![]() |
StartPanel.LogOffButtons.Hot | ![]() |
Window.FrameLeft.Inactive | ![]() |
ScrollBar.ArrowButton.LeftPressed | ![]() |
StartPanel.LogOffButtons.Pressed | ![]() |
Window.FrameRight.Active | ![]() |
ScrollBar.ArrowButton.LeftDisabled | ![]() |
StartPanel.UserPicture.Normal | ![]() |
Window.FrameRight.Inactive | ![]() |
ScrollBar.ArrowButton.RightNormal | ![]() |
Status.Bar.Normal | ![]() |
Window.FrameBottom.Active | ![]() |
ScrollBar.ArrowButton.RightHot | ![]() |
Status.Pane.Normal | ![]() |
Window.FrameBottom.Inactive | ![]() |
ScrollBar.ArrowButton.RightPressed | ![]() |
Status.GripperPane.Normal | ![]() |
Window.SmallFrameLeft.Active | ![]() |
ScrollBar.ArrowButton.RightDisabled | ![]() |
Status.Gripper.Normal | ![]() |
Window.SmallFrameLeft.Inactive | ![]() |
ScrollBar.ThumbButtonHorizontal.Normal | ![]() |
TaskBand.GroupCount.Normal | ![]() |
Window.SmallFrameRight.Active | ![]() |
ScrollBar.ThumbButtonHorizontal.Hot | ![]() |
TaskBand.FlashButton.Normal | ![]() |
Window.SmallFrameRight.Inactive | ![]() |
ScrollBar.ThumbButtonHorizontal.Pressed | ![]() |
TaskBand.FlashButtonGroupMenu.Normal | ![]() |
Window.SmallFrameBottom.Active | ![]() |
ScrollBar.ThumbButtonHorizontal.Disabled | ![]() |
Taskbar.BackgroundBottom.Normal | ![]() |
Window.SmallFrameBottom.Inactive | ![]() |
ScrollBar.ThumbButtonVertical.Normal | ![]() |
Taskbar.BackgroundRight.Normal | ![]() |
Window.MinButton.Normal | ![]() |
ScrollBar.ThumbButtonVertical.Hot | ![]() |
Taskbar.BackgroundTop.Normal | ![]() |
Window.MinButton.Hot | ![]() |
ScrollBar.ThumbButtonVertical.Pressed | ![]() |
Taskbar.BackgroundLeft.Normal | ![]() |
Window.MinButton.Pressed | ![]() |
ScrollBar.ThumbButtonVertical.Disabled | ![]() |
Taskbar.SizingBarBottom.Normal | ![]() |
Window.MinButton.Disabled | ![]() |
ScrollBar.RightTrackHorizontal.Normal | ![]() |
Taskbar.SizingBarRight.Normal | ![]() |
Window.MdiMinButton.Normal | ![]() |
ScrollBar.RightTrackHorizontal.Hot | ![]() |
Taskbar.SizingBarTop.Normal | ![]() |
Window.MdiMinButton.Hot | ![]() |
ScrollBar.RightTrackHorizontal.Pressed | ![]() |
Taskbar.SizingBarLeft.Normal | ![]() |
Window.MdiMinButton.Pressed | ![]() |
ScrollBar.RightTrackHorizontal.Disabled | ![]() |
ToolBar.Button.Normal | ![]() |
Window.MdiMinButton.Disabled | ![]() |
ScrollBar.LeftTrackHorizontal.Normal | ![]() |
ToolBar.Button.Hot | ![]() |
Window.MaxButton.Normal | ![]() |
ScrollBar.LeftTrackHorizontal.Hot | ![]() |
ToolBar.Button.Pressed | ![]() |
Window.MaxButton.Hot | ![]() |
ScrollBar.LeftTrackHorizontal.Pressed | ![]() |
ToolBar.Button.Disabled | ![]() |
Window.MaxButton.Pressed | ![]() |
ScrollBar.LeftTrackHorizontal.Disabled | ![]() |
ToolBar.Button.Checked | ![]() |
Window.MaxButton.Disabled | ![]() |
ScrollBar.LowerTrackVertical.Normal | ![]() |
ToolBar.Button.HotChecked | ![]() |
Window.CloseButton.Normal | ![]() |
ScrollBar.LowerTrackVertical.Hot | ![]() |
ToolBar.DropDownButton.Normal | ![]() |
Window.CloseButton.Hot | ![]() |
ScrollBar.LowerTrackVertical.Pressed | ![]() |
ToolBar.DropDownButton.Hot | ![]() |
Window.CloseButton.Pressed | ![]() |
ScrollBar.LowerTrackVertical.Disabled | ![]() |
ToolBar.DropDownButton.Pressed | ![]() |
Window.CloseButton.Disabled | ![]() |
ScrollBar.UpperTrackVertical.Normal | ![]() |
ToolBar.DropDownButton.Disabled | ![]() |
Window.SmallCloseButton.Normal | ![]() |
ScrollBar.UpperTrackVertical.Hot | ![]() |
ToolBar.DropDownButton.Checked | ![]() |
Window.SmallCloseButton.Hot | ![]() |
ScrollBar.UpperTrackVertical.Pressed | ![]() |
ToolBar.DropDownButton.HotChecked | ![]() |
Window.SmallCloseButton.Pressed | ![]() |
ScrollBar.UpperTrackVertical.Disabled | ![]() |
ToolBar.SplitButton.Normal | ![]() |
Window.SmallCloseButton.Disabled | ![]() |
ScrollBar.GripperHorizontal.Normal | ![]() |
ToolBar.SplitButton.Hot | ![]() |
Window.MdiCloseButton.Normal | ![]() |
ScrollBar.GripperVertical.Normal | ![]() |
ToolBar.SplitButton.Pressed | ![]() |
Window.MdiCloseButton.Hot | ![]() |
ScrollBar.SizeBox.RightAlign | ![]() |
ToolBar.SplitButton.Disabled | ![]() |
Window.MdiCloseButton.Pressed | ![]() |
ScrollBar.SizeBox.LeftAlign | ![]() |
ToolBar.SplitButton.Checked | ![]() |
Window.MdiCloseButton.Disabled | ![]() |
Tab.TabItem.Normal | ![]() |
ToolBar.SplitButton.HotChecked | ![]() |
Window.RestoreButton.Normal | ![]() |
Tab.TabItem.Hot | ![]() |
ToolBar.SplitButtonDropDown.Normal | ![]() |
Window.RestoreButton.Hot | ![]() |
Tab.TabItem.Pressed | ![]() |
ToolBar.SplitButtonDropDown.Hot | ![]() |
Window.RestoreButton.Pressed | ![]() |
Tab.TabItem.Disabled | ![]() |
ToolBar.SplitButtonDropDown.Pressed | ![]() |
Window.RestoreButton.Disabled | ![]() |
Tab.TabItemLeftEdge.Normal | ![]() |
ToolBar.SplitButtonDropDown.Disabled | ![]() |
Window.MdiRestoreButton.Normal | ![]() |
Tab.TabItemLeftEdge.Hot | ![]() |
ToolBar.SplitButtonDropDown.Checked | ![]() |
Window.MdiRestoreButton.Hot | ![]() |
Tab.TabItemLeftEdge.Pressed | ![]() |
ToolBar.SplitButtonDropDown.HotChecked | ![]() |
Window.MdiRestoreButton.Pressed | ![]() |
Tab.TabItemLeftEdge.Disabled | ![]() |
ToolBar.SeparatorHorizontal.Normal | ![]() |
Window.MdiRestoreButton.Disabled | ![]() |
Tab.TabItemRightEdge.Normal | ![]() |
ToolBar.SeparatorVertical.Normal | ![]() |
Window.HelpButton.Normal | ![]() |
Tab.TabItemRightEdge.Hot | ![]() |
ToolTip.Close.Normal | ![]() |
Window.HelpButton.Hot | ![]() |
Tab.TabItemRightEdge.Pressed | ![]() |
ToolTip.Close.Hot | ![]() |
Window.HelpButton.Pressed | ![]() |
Tab.TabItemRightEdge.Disabled | ![]() |
ToolTip.Close.Pressed | ![]() |
Window.HelpButton.Disabled | ![]() |
Tab.TabItemBothEdges.Normal | ![]() |
Window.Dialog.Normal | ![]() |
||
Tab.TopTabItem.Normal | ![]() |
Window.CaptionSizingTemplate.Normal | ![]() |
||
Tab.TopTabItem.Hot | ![]() |
Window.SmallCaptionSizingTemplate.Normal | ![]() |
||
Tab.TopTabItem.Pressed | ![]() |
||||
Tab.TopTabItem.Disabled | ![]() |
||||
Tab.TopTabItemLeftEdge.Normal | ![]() |
||||
Tab.TopTabItemLeftEdge.Hot | ![]() |
||||
Tab.TopTabItemLeftEdge.Pressed | ![]() |
||||
Tab.TopTabItemLeftEdge.Disabled | ![]() |
||||
Tab.TopTabItemRightEdge.Normal | ![]() |
||||
Tab.TopTabItemRightEdge.Hot | ![]() |
||||
Tab.TopTabItemRightEdge.Pressed | ![]() |
||||
Tab.TopTabItemRightEdge.Disabled | ![]() |
||||
Tab.TopTabItemBothEdges.Normal | ![]() |
||||
Tab.Pane.Normal | ![]() |