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
- ComplexObject.cs
- ToolBar.cs
- BaseTemplateParser.cs
- DataMemberConverter.cs
- AuthenticationModuleElementCollection.cs
- DataAdapter.cs
- x509utils.cs
- DashStyle.cs
- diagnosticsswitches.cs
- ExtensionFile.cs
- DateRangeEvent.cs
- XmlUnspecifiedAttribute.cs
- TextEndOfLine.cs
- UpdatePanelControlTrigger.cs
- AudienceUriMode.cs
- ConnectionPoolManager.cs
- DataQuery.cs
- WebCodeGenerator.cs
- _SecureChannel.cs
- ResourceType.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- NativeMethods.cs
- DataServiceHostFactory.cs
- DBConcurrencyException.cs
- SpellerStatusTable.cs
- IndicCharClassifier.cs
- Renderer.cs
- AsyncPostBackTrigger.cs
- CalendarDayButton.cs
- ControlOperationInvoker.cs
- TextPatternIdentifiers.cs
- TableItemProviderWrapper.cs
- PackageStore.cs
- TdsParser.cs
- ChangesetResponse.cs
- QilSortKey.cs
- HttpProfileBase.cs
- ToolStripItemClickedEventArgs.cs
- StringValueSerializer.cs
- OptimizerPatterns.cs
- DBConnection.cs
- DbConnectionInternal.cs
- WebPartDisplayModeCollection.cs
- RelationshipConstraintValidator.cs
- CompositeDesignerAccessibleObject.cs
- Semaphore.cs
- IdleTimeoutMonitor.cs
- DataGridViewAdvancedBorderStyle.cs
- TransactionContext.cs
- ProjectedSlot.cs
- BroadcastEventHelper.cs
- SynchronizedDispatch.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- UrlMappingsModule.cs
- ProfileServiceManager.cs
- DbConnectionStringCommon.cs
- ClientSettingsSection.cs
- MediaContextNotificationWindow.cs
- StaticExtension.cs
- Receive.cs
- StoreAnnotationsMap.cs
- WrapPanel.cs
- CroppedBitmap.cs
- ReferencedType.cs
- PermissionSet.cs
- RotateTransform.cs
- TaskFormBase.cs
- HtmlButton.cs
- MetaModel.cs
- ProtocolsConfigurationEntry.cs
- InvalidOperationException.cs
- ResourcePart.cs
- Win32KeyboardDevice.cs
- GacUtil.cs
- TextParagraphProperties.cs
- ScopelessEnumAttribute.cs
- XmlElementList.cs
- UIAgentAsyncParams.cs
- DrawingImage.cs
- UriTemplateClientFormatter.cs
- PipelineComponent.cs
- messageonlyhwndwrapper.cs
- DesignerLabelAdapter.cs
- TextRangeEditLists.cs
- DockAndAnchorLayout.cs
- LogicalExpr.cs
- ObjectDataSourceStatusEventArgs.cs
- LinqDataSourceStatusEventArgs.cs
- EncodingNLS.cs
- CodeDirectiveCollection.cs
- BrowserDefinition.cs
- Point3DConverter.cs
- Point3DCollection.cs
- GraphicsContext.cs
- WinFormsComponentEditor.cs
- AdvancedBindingPropertyDescriptor.cs
- Bind.cs
- Journaling.cs
- Calendar.cs
- DataBindingList.cs