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
- XmlWrappingReader.cs
- MatrixAnimationBase.cs
- RenderOptions.cs
- MsmqTransportElement.cs
- EmbossBitmapEffect.cs
- AdornerLayer.cs
- ProviderBase.cs
- DbXmlEnabledProviderManifest.cs
- TableItemStyle.cs
- DialogResultConverter.cs
- ReadWriteObjectLock.cs
- TemplateEditingService.cs
- DataGridViewSortCompareEventArgs.cs
- LineProperties.cs
- InfocardChannelParameter.cs
- UniqueIdentifierService.cs
- ExpressionNode.cs
- HostedElements.cs
- Rules.cs
- _LoggingObject.cs
- ResourceReferenceExpression.cs
- RegisteredExpandoAttribute.cs
- RijndaelManagedTransform.cs
- FixedHighlight.cs
- DependencyObjectProvider.cs
- ToggleProviderWrapper.cs
- EditableRegion.cs
- XmlElementAttribute.cs
- DoubleAnimationClockResource.cs
- CodePageUtils.cs
- DataControlFieldHeaderCell.cs
- OdbcConnectionOpen.cs
- SqlDataSourceCustomCommandPanel.cs
- WindowsFormsHost.cs
- UrlPath.cs
- CollectionViewGroupRoot.cs
- EncodingTable.cs
- SessionPageStatePersister.cs
- DateTimeFormat.cs
- Int32AnimationUsingKeyFrames.cs
- AnnouncementInnerClientCD1.cs
- InputLangChangeRequestEvent.cs
- DataControlField.cs
- DomainConstraint.cs
- ExchangeUtilities.cs
- MaterialGroup.cs
- EventSetter.cs
- InputBindingCollection.cs
- LinkUtilities.cs
- SyndicationDeserializer.cs
- DataGridViewDesigner.cs
- DupHandleConnectionReader.cs
- PointValueSerializer.cs
- XmlAtomicValue.cs
- ProxyWebPartManager.cs
- _ShellExpression.cs
- FunctionNode.cs
- webproxy.cs
- NativeMethods.cs
- StatusBar.cs
- _NegoStream.cs
- DefaultValueMapping.cs
- ListControl.cs
- _ListenerRequestStream.cs
- MailMessageEventArgs.cs
- WebConfigurationManager.cs
- recordstatefactory.cs
- NativeCppClassAttribute.cs
- PathFigureCollection.cs
- AnnotationDocumentPaginator.cs
- BindingMemberInfo.cs
- SecurityPermission.cs
- BaseDataList.cs
- ExpressionTextBoxAutomationPeer.cs
- MarkupExtensionParser.cs
- ApplicationDirectoryMembershipCondition.cs
- GraphicsContext.cs
- TimeSpanMinutesConverter.cs
- TextPenaltyModule.cs
- XPathItem.cs
- ExtensibleClassFactory.cs
- LayoutUtils.cs
- XmlSchemaSimpleTypeUnion.cs
- BrowsableAttribute.cs
- XamlSerializerUtil.cs
- EndPoint.cs
- SqlDataSourceStatusEventArgs.cs
- XmlSchemaComplexContentExtension.cs
- HandlerBase.cs
- DirectionalLight.cs
- StaticFileHandler.cs
- AttributeCollection.cs
- NameValuePermission.cs
- EventLogConfiguration.cs
- XmlProcessingInstruction.cs
- TypeListConverter.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- StringAttributeCollection.cs
- EdmValidator.cs
- VirtualPath.cs