Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ButtonInternal / RadioButtonStandardAdapter.cs / 1305376 / RadioButtonStandardAdapter.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 RadioButtonStandardAdapter : RadioButtonBaseAdapter { internal RadioButtonStandardAdapter(ButtonBase control) : base(control) {} internal override void PaintUp(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintUp(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { ColorData colors = PaintRender(e.Graphics).Calculate(); LayoutData layout = Layout(e).Layout(); PaintButtonBackground(e, Control.ClientRectangle, null); PaintImage(e, layout); DrawCheckBox(e, layout); PaintField(e, layout, colors, colors.windowText, true); } } internal override void PaintDown(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintDown(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { PaintUp(e, state); } } internal override void PaintOver(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintOver(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { PaintUp(e, state); } } private new ButtonStandardAdapter ButtonAdapter { get { return ((ButtonStandardAdapter)base.ButtonAdapter); } } protected override ButtonBaseAdapter CreateButtonAdapter() { return new ButtonStandardAdapter(Control); } #region Temp protected override LayoutOptions Layout(PaintEventArgs e) { LayoutOptions layout = CommonLayout(); layout.hintTextUp = false; layout.everettButtonCompat = !Application.RenderWithVisualStyles; // VSWhidbey 420870 if (Application.RenderWithVisualStyles) { using (Graphics g = WindowsFormsUtils.CreateMeasurementGraphics()) { layout.checkSize = RadioButtonRenderer.GetGlyphSize(g, RadioButtonRenderer.ConvertFromButtonState(GetState(), Control.MouseIsOver)).Width; } } // Dev10 bug 525537 else { layout.checkSize = (int)(layout.checkSize * GetDpiScaleRatio(e.Graphics)); } return layout; } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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 RadioButtonStandardAdapter : RadioButtonBaseAdapter { internal RadioButtonStandardAdapter(ButtonBase control) : base(control) {} internal override void PaintUp(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintUp(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { ColorData colors = PaintRender(e.Graphics).Calculate(); LayoutData layout = Layout(e).Layout(); PaintButtonBackground(e, Control.ClientRectangle, null); PaintImage(e, layout); DrawCheckBox(e, layout); PaintField(e, layout, colors, colors.windowText, true); } } internal override void PaintDown(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintDown(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { PaintUp(e, state); } } internal override void PaintOver(PaintEventArgs e, CheckState state) { if (Control.Appearance == Appearance.Button) { ButtonAdapter.PaintOver(e, Control.Checked ? CheckState.Checked : CheckState.Unchecked); } else { PaintUp(e, state); } } private new ButtonStandardAdapter ButtonAdapter { get { return ((ButtonStandardAdapter)base.ButtonAdapter); } } protected override ButtonBaseAdapter CreateButtonAdapter() { return new ButtonStandardAdapter(Control); } #region Temp protected override LayoutOptions Layout(PaintEventArgs e) { LayoutOptions layout = CommonLayout(); layout.hintTextUp = false; layout.everettButtonCompat = !Application.RenderWithVisualStyles; // VSWhidbey 420870 if (Application.RenderWithVisualStyles) { using (Graphics g = WindowsFormsUtils.CreateMeasurementGraphics()) { layout.checkSize = RadioButtonRenderer.GetGlyphSize(g, RadioButtonRenderer.ConvertFromButtonState(GetState(), Control.MouseIsOver)).Width; } } // Dev10 bug 525537 else { layout.checkSize = (int)(layout.checkSize * GetDpiScaleRatio(e.Graphics)); } 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
- CheckBox.cs
- FileDataSourceCache.cs
- PersistenceIOParticipant.cs
- MarkupCompilePass1.cs
- SchemaRegistration.cs
- CollectionChangeEventArgs.cs
- ClientBuildManager.cs
- DataGridCommandEventArgs.cs
- CodeCatchClauseCollection.cs
- HttpApplication.cs
- EncoderBestFitFallback.cs
- DataControlFieldCollection.cs
- SapiRecoInterop.cs
- DesignerActionTextItem.cs
- OracleConnectionString.cs
- XslAst.cs
- FloaterBaseParagraph.cs
- XsltContext.cs
- MonthChangedEventArgs.cs
- ToolBarButtonClickEvent.cs
- ColumnWidthChangedEvent.cs
- SignerInfo.cs
- PropertyEmitterBase.cs
- ConstrainedDataObject.cs
- PageCatalogPart.cs
- ValidationErrorEventArgs.cs
- StringFormat.cs
- EntityDataSource.cs
- ProfileManager.cs
- ObjectRef.cs
- StaticTextPointer.cs
- BrowserInteropHelper.cs
- Cursor.cs
- StandardToolWindows.cs
- DataGrid.cs
- MdiWindowListItemConverter.cs
- XmlSignificantWhitespace.cs
- FileCodeGroup.cs
- XmlMapping.cs
- LinkedResourceCollection.cs
- Attributes.cs
- SynchronizationLockException.cs
- GeneralTransformGroup.cs
- WebPartMenu.cs
- FileNotFoundException.cs
- OrthographicCamera.cs
- _AcceptOverlappedAsyncResult.cs
- FragmentQueryKB.cs
- BuildProviderCollection.cs
- SqlFileStream.cs
- SingleSelectRootGridEntry.cs
- BitVec.cs
- OdbcError.cs
- remotingproxy.cs
- LineGeometry.cs
- ParentQuery.cs
- ForwardPositionQuery.cs
- SequentialUshortCollection.cs
- CalendarKeyboardHelper.cs
- QueryStringParameter.cs
- StretchValidation.cs
- FlowLayout.cs
- ObjectAssociationEndMapping.cs
- _Rfc2616CacheValidators.cs
- ScriptReferenceBase.cs
- NextPreviousPagerField.cs
- MouseButton.cs
- SafeMarshalContext.cs
- SQLString.cs
- TextShapeableCharacters.cs
- storagemappingitemcollection.viewdictionary.cs
- PrePostDescendentsWalker.cs
- SrgsGrammarCompiler.cs
- AspNetPartialTrustHelpers.cs
- SafeMILHandle.cs
- WsatConfiguration.cs
- TokenBasedSet.cs
- ChannelRequirements.cs
- HttpVersion.cs
- StyleXamlTreeBuilder.cs
- FrameworkTemplate.cs
- SystemIcmpV4Statistics.cs
- IndexerNameAttribute.cs
- HtmlControlDesigner.cs
- AgileSafeNativeMemoryHandle.cs
- dtdvalidator.cs
- OleStrCAMarshaler.cs
- ClockController.cs
- ConditionalDesigner.cs
- HttpListenerContext.cs
- ErrorRuntimeConfig.cs
- CacheModeValueSerializer.cs
- NativeMethodsCLR.cs
- Wizard.cs
- SecurityCriticalDataForSet.cs
- ProbeDuplexAsyncResult.cs
- ComponentManagerBroker.cs
- OciHandle.cs
- HighlightVisual.cs
- EnlistmentState.cs