Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / ButtonInternal / RadioButtonFlatAdapter.cs / 1 / 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 = flatCheckSize; layout.shadowedText = false; return layout; } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DrawingBrush.cs
- OptimalBreakSession.cs
- EmptyEnumerator.cs
- HtmlGenericControl.cs
- DataRowCollection.cs
- StyleCollection.cs
- WeakHashtable.cs
- AnimationLayer.cs
- GeneralTransform2DTo3D.cs
- SiteMapNodeItemEventArgs.cs
- HtmlInputSubmit.cs
- IApplicationTrustManager.cs
- Trace.cs
- NamedElement.cs
- QilValidationVisitor.cs
- GestureRecognitionResult.cs
- FontFaceLayoutInfo.cs
- CfgRule.cs
- TreePrinter.cs
- AssemblyResourceLoader.cs
- FontSource.cs
- HttpListenerResponse.cs
- SafeRightsManagementPubHandle.cs
- RowTypePropertyElement.cs
- EmbeddedMailObjectsCollection.cs
- ProfileInfo.cs
- COM2Enum.cs
- RegexInterpreter.cs
- FactoryGenerator.cs
- MeasurementDCInfo.cs
- XPathDescendantIterator.cs
- DbCommandDefinition.cs
- OAVariantLib.cs
- MappingMetadataHelper.cs
- ConnectionConsumerAttribute.cs
- NegotiationTokenProvider.cs
- SplitterCancelEvent.cs
- BindableTemplateBuilder.cs
- Transactions.cs
- TreeViewDataItemAutomationPeer.cs
- ClientEventManager.cs
- DrawingContext.cs
- MsmqPoisonMessageException.cs
- DeviceContext2.cs
- EnvironmentPermission.cs
- Region.cs
- AppDomainManager.cs
- XslNumber.cs
- DataRelation.cs
- MarkupObject.cs
- SEHException.cs
- ConfigurationElement.cs
- PropertyPathConverter.cs
- ColumnPropertiesGroup.cs
- EntityConnectionStringBuilderItem.cs
- ThreadStaticAttribute.cs
- GroupByQueryOperator.cs
- WebAdminConfigurationHelper.cs
- CodeMemberField.cs
- EndOfStreamException.cs
- DatePickerDateValidationErrorEventArgs.cs
- WebPartHelpVerb.cs
- Int64AnimationUsingKeyFrames.cs
- TypeInitializationException.cs
- DirectionalAction.cs
- ISessionStateStore.cs
- externdll.cs
- RuntimeEnvironment.cs
- QuaternionAnimationUsingKeyFrames.cs
- RegularExpressionValidator.cs
- _NegotiateClient.cs
- WindowsTitleBar.cs
- CollectionView.cs
- Point3DAnimationUsingKeyFrames.cs
- Control.cs
- ParentUndoUnit.cs
- ParameterToken.cs
- ExpressionPrinter.cs
- FragmentQueryProcessor.cs
- PrimitiveXmlSerializers.cs
- AppSettingsExpressionBuilder.cs
- CapabilitiesSection.cs
- XmlObjectSerializerReadContext.cs
- KeyEventArgs.cs
- X509ClientCertificateAuthentication.cs
- XamlTreeBuilderBamlRecordWriter.cs
- GeometryCombineModeValidation.cs
- TargetControlTypeAttribute.cs
- Int64AnimationUsingKeyFrames.cs
- ArgumentException.cs
- Graphics.cs
- PropertyMapper.cs
- XamlTemplateSerializer.cs
- XPathNavigator.cs
- WebPartMinimizeVerb.cs
- ButtonChrome.cs
- Visitor.cs
- Unit.cs
- CompilerParameters.cs
- SimpleTextLine.cs