Code:
/ FX-1434 / FX-1434 / 1.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
- ProfessionalColors.cs
- DataBindingExpressionBuilder.cs
- IndependentAnimationStorage.cs
- ProviderException.cs
- SiteMapSection.cs
- QilLiteral.cs
- ListParaClient.cs
- SqlTopReducer.cs
- UrlPath.cs
- CodeComment.cs
- SafeEventLogReadHandle.cs
- SizeKeyFrameCollection.cs
- HttpPostedFileBase.cs
- DataSourceXmlElementAttribute.cs
- ToolStripItemEventArgs.cs
- RegularExpressionValidator.cs
- DefaultSettingsSection.cs
- Deflater.cs
- PrinterUnitConvert.cs
- NameNode.cs
- UnsignedPublishLicense.cs
- CngKey.cs
- ComplexLine.cs
- IncrementalReadDecoders.cs
- XmlQueryType.cs
- WebPartChrome.cs
- DataServiceException.cs
- InvalidPrinterException.cs
- CookieProtection.cs
- XPathMultyIterator.cs
- TextCompositionManager.cs
- ProcessModelInfo.cs
- PermissionAttributes.cs
- Attributes.cs
- DeferredReference.cs
- PolyBezierSegment.cs
- Line.cs
- DisplayMemberTemplateSelector.cs
- TextBounds.cs
- HtmlElementEventArgs.cs
- HttpModuleCollection.cs
- BuildProviderCollection.cs
- CatalogPartChrome.cs
- StringConcat.cs
- FactoryId.cs
- Stack.cs
- ControlEvent.cs
- DtcInterfaces.cs
- GroupBoxRenderer.cs
- Assembly.cs
- SuppressMergeCheckAttribute.cs
- ZipIOExtraFieldPaddingElement.cs
- LinkLabelLinkClickedEvent.cs
- ThreadInterruptedException.cs
- WebPartMenuStyle.cs
- StylusPointPropertyInfo.cs
- HostProtectionPermission.cs
- PreparingEnlistment.cs
- SByte.cs
- MessageQueueCriteria.cs
- OptimizedTemplateContentHelper.cs
- QueuePropertyVariants.cs
- _CacheStreams.cs
- ArrayElementGridEntry.cs
- DataGridViewHeaderCell.cs
- AsymmetricAlgorithm.cs
- DetailsViewUpdateEventArgs.cs
- ViewStateException.cs
- WebBrowser.cs
- DataViewManagerListItemTypeDescriptor.cs
- CompiledRegexRunnerFactory.cs
- Error.cs
- ScriptManager.cs
- UnsafeNativeMethods.cs
- SemaphoreFullException.cs
- RawStylusInput.cs
- DataViewSettingCollection.cs
- DateTimeParse.cs
- Int32RectConverter.cs
- EditorOptionAttribute.cs
- AspNetSynchronizationContext.cs
- loginstatus.cs
- SafeCryptoHandles.cs
- MsmqIntegrationSecurityElement.cs
- SystemIPInterfaceStatistics.cs
- DocumentXPathNavigator.cs
- Renderer.cs
- DbCommandTree.cs
- Contracts.cs
- AccessDataSourceView.cs
- PerformanceCounterPermissionEntryCollection.cs
- Identity.cs
- contentDescriptor.cs
- ConfigPathUtility.cs
- QuotedStringWriteStateInfo.cs
- BinaryObjectInfo.cs
- MissingMemberException.cs
- GPPOINTF.cs
- ListViewDeletedEventArgs.cs
- ReplyChannelAcceptor.cs