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
- SendKeys.cs
- Range.cs
- TcpConnectionPoolSettings.cs
- DBSchemaRow.cs
- ScrollableControlDesigner.cs
- SchemaImporter.cs
- BamlResourceDeserializer.cs
- HierarchicalDataBoundControl.cs
- FixedSOMTableCell.cs
- ListBoxChrome.cs
- TextContainerHelper.cs
- ICollection.cs
- StrongNameIdentityPermission.cs
- InputLanguageManager.cs
- ControlCollection.cs
- ExecutionEngineException.cs
- Int32EqualityComparer.cs
- TableCell.cs
- ThreadStaticAttribute.cs
- MimeTypePropertyAttribute.cs
- SupportsEventValidationAttribute.cs
- Stacktrace.cs
- MetadataItemEmitter.cs
- IdentityReference.cs
- PreloadedPackages.cs
- ObjectSecurity.cs
- MD5CryptoServiceProvider.cs
- PropertyGroupDescription.cs
- OptimalTextSource.cs
- ToolStripRenderer.cs
- OutputCacheSettingsSection.cs
- TextBoxAutoCompleteSourceConverter.cs
- UpdateDelegates.Generated.cs
- RootDesignerSerializerAttribute.cs
- basenumberconverter.cs
- WebPartZone.cs
- HexParser.cs
- DropDownButton.cs
- handlecollector.cs
- GenericIdentity.cs
- UnhandledExceptionEventArgs.cs
- Scheduler.cs
- ToolStripRenderer.cs
- PropertyManager.cs
- MatrixAnimationUsingKeyFrames.cs
- WebReferencesBuildProvider.cs
- RectAnimationUsingKeyFrames.cs
- UnsafeNativeMethods.cs
- HttpWriter.cs
- AddingNewEventArgs.cs
- UIElementCollection.cs
- XPathSelfQuery.cs
- XmlSchemaObject.cs
- DataGridViewTopRowAccessibleObject.cs
- ScriptReferenceBase.cs
- CommandLibraryHelper.cs
- TimestampInformation.cs
- HttpException.cs
- RequestStatusBarUpdateEventArgs.cs
- SoapConverter.cs
- Mapping.cs
- DetailsViewInsertEventArgs.cs
- QilStrConcat.cs
- CodeNamespaceImportCollection.cs
- ExpressionEditorSheet.cs
- TerminateDesigner.cs
- AsyncStreamReader.cs
- XmlSchemaAnnotation.cs
- ObjectQueryState.cs
- OleDbRowUpdatingEvent.cs
- PrimitiveRenderer.cs
- SoapClientMessage.cs
- ButtonAutomationPeer.cs
- SyndicationFeed.cs
- SkipQueryOptionExpression.cs
- BuildResult.cs
- HScrollBar.cs
- ReadOnlyPropertyMetadata.cs
- Vector3D.cs
- Trace.cs
- TextEditorTyping.cs
- Roles.cs
- HtmlValidationSummaryAdapter.cs
- DataComponentMethodGenerator.cs
- EventLogEntry.cs
- FontFamilyIdentifier.cs
- ObjectDataSourceView.cs
- CommonXSendMessage.cs
- TextOutput.cs
- Misc.cs
- NaturalLanguageHyphenator.cs
- SqlCacheDependencyDatabaseCollection.cs
- EmbeddedMailObject.cs
- CompilationLock.cs
- OletxDependentTransaction.cs
- LZCodec.cs
- Queue.cs
- XmlAnyElementAttributes.cs
- ViewPort3D.cs
- PhysicalAddress.cs