Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / DrawListViewColumnHeaderEventArgs.cs / 1 / DrawListViewColumnHeaderEventArgs.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms.Internal; using Microsoft.Win32; using System.Windows.Forms.VisualStyles; ////// /// This class contains the information a user needs to paint ListView column header (Details view only). /// public class DrawListViewColumnHeaderEventArgs : EventArgs { private readonly Graphics graphics; private readonly Rectangle bounds; private readonly int columnIndex; private readonly ColumnHeader header; private readonly ListViewItemStates state; private readonly Color foreColor; private readonly Color backColor; private readonly Font font; private bool drawDefault; ////// /// Creates a new DrawListViewColumnHeaderEventArgs with the given parameters. /// public DrawListViewColumnHeaderEventArgs(Graphics graphics, Rectangle bounds, int columnIndex, ColumnHeader header, ListViewItemStates state, Color foreColor, Color backColor, Font font) { this.graphics = graphics; this.bounds = bounds; this.columnIndex = columnIndex; this.header = header; this.state = state; this.foreColor = foreColor; this.backColor = backColor; this.font = font; } ////// /// Causes the item do be drawn by the system instead of owner drawn. /// public bool DrawDefault { get { return drawDefault; } set { drawDefault = value; } } ////// /// Graphics object with which painting should be done. /// public Graphics Graphics { get { return graphics; } } ////// /// The rectangle outlining the area in which the painting should be done. /// public Rectangle Bounds { get { return bounds; } } ////// /// The index of this column. /// public int ColumnIndex { get { return columnIndex; } } ////// /// The header object. /// public ColumnHeader Header { get { return header; } } ////// /// State information pertaining to the header. /// public ListViewItemStates State { get { return state; } } ////// /// Color used to draw the header's text. /// public Color ForeColor { get { return foreColor; } } ////// /// Color used to draw the header's background. /// public Color BackColor { get { return backColor; } } ////// /// Font used to render the header's text. /// public Font Font { get { return font; } } ////// /// Draws the header's background. /// public void DrawBackground() { if (Application.RenderWithVisualStyles) { VisualStyleRenderer vsr = new VisualStyleRenderer(VisualStyleElement.Header.Item.Normal); vsr.DrawBackground(graphics, bounds); } else { using (Brush backBrush = new SolidBrush(backColor)) { graphics.FillRectangle(backBrush, bounds); } // draw the 3d header // Rectangle r = this.bounds; r.Width -= 1; r.Height -= 1; // draw the dark border around the whole thing // graphics.DrawRectangle(SystemPens.ControlDarkDark, r); r.Width -= 1; r.Height -= 1; // draw the light 3D border // graphics.DrawLine(SystemPens.ControlLightLight, r.X, r.Y, r.Right, r.Y); graphics.DrawLine(SystemPens.ControlLightLight, r.X, r.Y, r.X, r.Bottom); // draw the dark 3D Border // graphics.DrawLine(SystemPens.ControlDark, r.X + 1, r.Bottom, r.Right, r.Bottom); graphics.DrawLine(SystemPens.ControlDark, r.Right, r.Y + 1, r.Right, r.Bottom); } } ////// /// Draws the header's text (overloaded) /// public void DrawText() { HorizontalAlignment hAlign = header.TextAlign; TextFormatFlags flags = (hAlign == HorizontalAlignment.Left) ? TextFormatFlags.Left : ((hAlign == HorizontalAlignment.Center) ? TextFormatFlags.HorizontalCenter : TextFormatFlags.Right); flags |= TextFormatFlags.WordEllipsis; DrawText(flags); } ////// /// Draws the header's text (overloaded) - takes a TextFormatFlags argument. /// [ SuppressMessage("Microsoft.Globalization", "CA1303:DoNotPassLiteralsAsLocalizedParameters") // We want to measure the size of blank space. // So we don't have to localize it. ] public void DrawText(TextFormatFlags flags) { string text = header.Text; int padding = TextRenderer.MeasureText(" ", font).Width; Rectangle newBounds = Rectangle.Inflate(bounds, -padding, 0); TextRenderer.DrawText(graphics, text, font, newBounds, foreColor, flags); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms.Internal; using Microsoft.Win32; using System.Windows.Forms.VisualStyles; ////// /// This class contains the information a user needs to paint ListView column header (Details view only). /// public class DrawListViewColumnHeaderEventArgs : EventArgs { private readonly Graphics graphics; private readonly Rectangle bounds; private readonly int columnIndex; private readonly ColumnHeader header; private readonly ListViewItemStates state; private readonly Color foreColor; private readonly Color backColor; private readonly Font font; private bool drawDefault; ////// /// Creates a new DrawListViewColumnHeaderEventArgs with the given parameters. /// public DrawListViewColumnHeaderEventArgs(Graphics graphics, Rectangle bounds, int columnIndex, ColumnHeader header, ListViewItemStates state, Color foreColor, Color backColor, Font font) { this.graphics = graphics; this.bounds = bounds; this.columnIndex = columnIndex; this.header = header; this.state = state; this.foreColor = foreColor; this.backColor = backColor; this.font = font; } ////// /// Causes the item do be drawn by the system instead of owner drawn. /// public bool DrawDefault { get { return drawDefault; } set { drawDefault = value; } } ////// /// Graphics object with which painting should be done. /// public Graphics Graphics { get { return graphics; } } ////// /// The rectangle outlining the area in which the painting should be done. /// public Rectangle Bounds { get { return bounds; } } ////// /// The index of this column. /// public int ColumnIndex { get { return columnIndex; } } ////// /// The header object. /// public ColumnHeader Header { get { return header; } } ////// /// State information pertaining to the header. /// public ListViewItemStates State { get { return state; } } ////// /// Color used to draw the header's text. /// public Color ForeColor { get { return foreColor; } } ////// /// Color used to draw the header's background. /// public Color BackColor { get { return backColor; } } ////// /// Font used to render the header's text. /// public Font Font { get { return font; } } ////// /// Draws the header's background. /// public void DrawBackground() { if (Application.RenderWithVisualStyles) { VisualStyleRenderer vsr = new VisualStyleRenderer(VisualStyleElement.Header.Item.Normal); vsr.DrawBackground(graphics, bounds); } else { using (Brush backBrush = new SolidBrush(backColor)) { graphics.FillRectangle(backBrush, bounds); } // draw the 3d header // Rectangle r = this.bounds; r.Width -= 1; r.Height -= 1; // draw the dark border around the whole thing // graphics.DrawRectangle(SystemPens.ControlDarkDark, r); r.Width -= 1; r.Height -= 1; // draw the light 3D border // graphics.DrawLine(SystemPens.ControlLightLight, r.X, r.Y, r.Right, r.Y); graphics.DrawLine(SystemPens.ControlLightLight, r.X, r.Y, r.X, r.Bottom); // draw the dark 3D Border // graphics.DrawLine(SystemPens.ControlDark, r.X + 1, r.Bottom, r.Right, r.Bottom); graphics.DrawLine(SystemPens.ControlDark, r.Right, r.Y + 1, r.Right, r.Bottom); } } ////// /// Draws the header's text (overloaded) /// public void DrawText() { HorizontalAlignment hAlign = header.TextAlign; TextFormatFlags flags = (hAlign == HorizontalAlignment.Left) ? TextFormatFlags.Left : ((hAlign == HorizontalAlignment.Center) ? TextFormatFlags.HorizontalCenter : TextFormatFlags.Right); flags |= TextFormatFlags.WordEllipsis; DrawText(flags); } ////// /// Draws the header's text (overloaded) - takes a TextFormatFlags argument. /// [ SuppressMessage("Microsoft.Globalization", "CA1303:DoNotPassLiteralsAsLocalizedParameters") // We want to measure the size of blank space. // So we don't have to localize it. ] public void DrawText(TextFormatFlags flags) { string text = header.Text; int padding = TextRenderer.MeasureText(" ", font).Width; Rectangle newBounds = Rectangle.Inflate(bounds, -padding, 0); TextRenderer.DrawText(graphics, text, font, newBounds, foreColor, flags); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HotSpotCollection.cs
- WebPartsPersonalization.cs
- NativeRightsManagementAPIsStructures.cs
- Menu.cs
- ResourceDictionaryCollection.cs
- Separator.cs
- TreeNode.cs
- XmlSchemaAnnotation.cs
- LayoutTable.cs
- TypeConverter.cs
- TableProviderWrapper.cs
- DoubleMinMaxAggregationOperator.cs
- activationcontext.cs
- ToolStripItemDataObject.cs
- ListMarkerSourceInfo.cs
- HtmlObjectListAdapter.cs
- designeractionbehavior.cs
- DocumentOrderQuery.cs
- ComplexPropertyEntry.cs
- StylusDownEventArgs.cs
- ResXBuildProvider.cs
- GrammarBuilderDictation.cs
- VariantWrapper.cs
- ManipulationStartingEventArgs.cs
- StreamGeometryContext.cs
- SessionStateModule.cs
- PathFigureCollectionConverter.cs
- RSAPKCS1KeyExchangeFormatter.cs
- CompositionAdorner.cs
- TypeDescriptionProvider.cs
- HttpProcessUtility.cs
- DescendantQuery.cs
- propertyentry.cs
- BehaviorService.cs
- UnionExpr.cs
- StringComparer.cs
- ToolStripButton.cs
- DescriptionAttribute.cs
- ResourceCategoryAttribute.cs
- XomlCompilerHelpers.cs
- DefaultObjectMappingItemCollection.cs
- SecurityContext.cs
- UniqueConstraint.cs
- FixedTextPointer.cs
- X509Extension.cs
- OrderedHashRepartitionEnumerator.cs
- ResourceDictionary.cs
- ImageListImageEditor.cs
- IdentityModelDictionary.cs
- FlowDocumentFormatter.cs
- XmlAnyElementAttributes.cs
- FamilyMapCollection.cs
- TreeNodeConverter.cs
- Command.cs
- UInt16Converter.cs
- Bitmap.cs
- XmlSchemaProviderAttribute.cs
- InputLanguageCollection.cs
- ConfigXmlCDataSection.cs
- CardSpaceException.cs
- MergeLocalizationDirectives.cs
- PtsContext.cs
- KeyedCollection.cs
- NullableLongMinMaxAggregationOperator.cs
- DecoderNLS.cs
- SafeNativeMethodsMilCoreApi.cs
- RoleManagerModule.cs
- SiteMap.cs
- XmlCodeExporter.cs
- SettingsAttributeDictionary.cs
- SchemaNotation.cs
- DashStyle.cs
- SettingsPropertyIsReadOnlyException.cs
- LinqToSqlWrapper.cs
- JapaneseCalendar.cs
- PagerSettings.cs
- UDPClient.cs
- RegionIterator.cs
- ListChangedEventArgs.cs
- StorageComplexPropertyMapping.cs
- StreamUpdate.cs
- ValueCollectionParameterReader.cs
- SafeArrayRankMismatchException.cs
- KernelTypeValidation.cs
- MouseGesture.cs
- PropertyAccessVisitor.cs
- PersistChildrenAttribute.cs
- RemotingService.cs
- ManifestSignedXml.cs
- Scene3D.cs
- RegexEditorDialog.cs
- SqlDependencyUtils.cs
- TimeSpanValidator.cs
- ContainerActivationHelper.cs
- __ComObject.cs
- JavaScriptString.cs
- WebBrowserEvent.cs
- CipherData.cs
- PropertiesTab.cs
- DateTimeFormatInfo.cs