Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ButtonInternal / RadioButtonFlatAdapter.cs / 1305376 / RadioButtonFlatAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ButtonInternal { using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Drawing.Text; using System.Windows.Forms; internal class RadioButtonFlatAdapter : RadioButtonBaseAdapter { protected const int flatCheckSize = 12; internal RadioButtonFlatAdapter(ButtonBase control) : base(control) {} internal override void PaintDown(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintDown(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintOver(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintOver(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.lowHighlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } internal override void PaintUp(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonFlatAdapter adapter = new ButtonFlatAdapter(Control); adapter.PaintUp(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); return; } ColorData colors = PaintFlatRender(e.Graphics).Calculate(); if (Control.Enabled) { PaintFlatWorker(e, colors.windowText, colors.highlight, colors.windowFrame, colors); } else { PaintFlatWorker(e, colors.buttonShadow, colors.buttonFace, colors.buttonShadow, colors); } } void PaintFlatWorker(PaintEventArgs e, Color checkColor, Color checkBackground, Color checkBorder, ColorData colors) { System.Drawing.Graphics g = e.Graphics; LayoutData layout = Layout(e).Layout(); PaintButtonBackground(e, Control.ClientRectangle, null); PaintImage(e, layout); DrawCheckFlat(e, layout, checkColor, colors.options.highContrast ? colors.buttonFace : checkBackground, checkBorder); PaintField(e, layout, colors, checkColor, true); } #region Layout protected override ButtonBaseAdapter CreateButtonAdapter() { return new ButtonFlatAdapter(Control); } // RadioButtonPopupLayout also uses this layout for down and over protected override LayoutOptions Layout(PaintEventArgs e) { LayoutOptions layout = CommonLayout(); layout.checkSize = (int)(flatCheckSize * GetDpiScaleRatio(e.Graphics)); layout.shadowedText = false; return layout; } #endregion } } // 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
- ObjectDataSource.cs
- ListBoxItemWrapperAutomationPeer.cs
- PersistenceTypeAttribute.cs
- ContainerParagraph.cs
- Exceptions.cs
- PopOutPanel.cs
- Cursors.cs
- BitVector32.cs
- CodeBlockBuilder.cs
- XmlSignificantWhitespace.cs
- IndexExpression.cs
- WebConfigurationHostFileChange.cs
- X509Certificate2.cs
- WebHttpBehavior.cs
- WebFaultException.cs
- TypeSource.cs
- TimeSpan.cs
- DependencySource.cs
- _ChunkParse.cs
- MbpInfo.cs
- WindowsFormsSynchronizationContext.cs
- TextTrailingWordEllipsis.cs
- HttpFileCollection.cs
- RuntimeHelpers.cs
- SmtpReplyReaderFactory.cs
- EntitySetBaseCollection.cs
- DataControlFieldCollection.cs
- ProviderCollection.cs
- XmlQueryTypeFactory.cs
- MethodResolver.cs
- ValueOfAction.cs
- COAUTHINFO.cs
- translator.cs
- Effect.cs
- HttpCacheVary.cs
- GeometryHitTestResult.cs
- GlobalAclOperationRequirement.cs
- StickyNoteHelper.cs
- FlagsAttribute.cs
- PropertyChangedEventManager.cs
- ToolStripSplitStackLayout.cs
- StyleTypedPropertyAttribute.cs
- RuntimeVariablesExpression.cs
- Border.cs
- SByteStorage.cs
- HttpListener.cs
- Size.cs
- QilFactory.cs
- CorePropertiesFilter.cs
- OpacityConverter.cs
- ConfigurationPropertyCollection.cs
- MailHeaderInfo.cs
- TransformerInfo.cs
- TransactedBatchingBehavior.cs
- StorageScalarPropertyMapping.cs
- SqlXml.cs
- WinInet.cs
- DataServiceQueryOfT.cs
- DataGridViewLayoutData.cs
- StrongNameUtility.cs
- FocusChangedEventArgs.cs
- LabelEditEvent.cs
- WebPartCatalogCloseVerb.cs
- SafeNativeMethods.cs
- AttributeCollection.cs
- DataColumnCollection.cs
- InkSerializer.cs
- DbProviderFactory.cs
- isolationinterop.cs
- SelectionEditingBehavior.cs
- Queue.cs
- Html32TextWriter.cs
- ListView.cs
- GeneratedCodeAttribute.cs
- ipaddressinformationcollection.cs
- PropertyGroupDescription.cs
- UserPreferenceChangedEventArgs.cs
- Document.cs
- SizeAnimationBase.cs
- TypeUtil.cs
- Accessible.cs
- XmlSchemaImporter.cs
- XPathBinder.cs
- DSASignatureDeformatter.cs
- ConfigurationLockCollection.cs
- counter.cs
- UIElementParagraph.cs
- ImageCodecInfo.cs
- FontWeights.cs
- HyperlinkAutomationPeer.cs
- ThreadPool.cs
- ZipArchive.cs
- MissingManifestResourceException.cs
- CodeObjectCreateExpression.cs
- Aggregates.cs
- PersistenceParticipant.cs
- WebPartConnectionsDisconnectVerb.cs
- RenamedEventArgs.cs
- TreeNodeCollectionEditor.cs
- SqlHelper.cs