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
- Membership.cs
- DBSchemaTable.cs
- CriticalHandle.cs
- ListViewTableRow.cs
- BCLDebug.cs
- ParameterCollection.cs
- DataConnectionHelper.cs
- BaseCAMarshaler.cs
- StylusEditingBehavior.cs
- ByteAnimation.cs
- ArrayElementGridEntry.cs
- ClientFormsAuthenticationMembershipProvider.cs
- HttpFileCollectionWrapper.cs
- XLinq.cs
- Vector3D.cs
- ViewCellSlot.cs
- ActiveXMessageFormatter.cs
- ConditionCollection.cs
- Positioning.cs
- NativeRightsManagementAPIsStructures.cs
- GPStream.cs
- MemoryFailPoint.cs
- AudienceUriMode.cs
- ListView.cs
- TableItemStyle.cs
- KnownBoxes.cs
- TreeNodeCollection.cs
- EpmSyndicationContentSerializer.cs
- AtlasWeb.Designer.cs
- ToolStripCollectionEditor.cs
- EmbeddedObject.cs
- NetTcpSecurity.cs
- DependencyObjectPropertyDescriptor.cs
- MatrixConverter.cs
- BuildProvider.cs
- ExtendedPropertyDescriptor.cs
- ValidateNames.cs
- WorkflowDesignerMessageFilter.cs
- ConnectionPointGlyph.cs
- FormViewUpdateEventArgs.cs
- GridErrorDlg.cs
- UnauthorizedAccessException.cs
- DllNotFoundException.cs
- RectAnimationUsingKeyFrames.cs
- PrintPreviewGraphics.cs
- AssemblyName.cs
- SQLDecimalStorage.cs
- ErrorFormatter.cs
- AdapterDictionary.cs
- SchemaCollectionCompiler.cs
- SourceFileBuildProvider.cs
- HttpFileCollectionBase.cs
- ClockGroup.cs
- CaseStatementSlot.cs
- TextTreeInsertUndoUnit.cs
- DuplicateWaitObjectException.cs
- ConfigurationProperty.cs
- ConfigurationException.cs
- DecoderFallbackWithFailureFlag.cs
- DateTimeOffsetConverter.cs
- ping.cs
- HtmlTableRow.cs
- NavigationProperty.cs
- IsolatedStorageFilePermission.cs
- MobileControl.cs
- MetadataCache.cs
- XmlCodeExporter.cs
- GenericsInstances.cs
- TextDecorationLocationValidation.cs
- XDRSchema.cs
- ErasingStroke.cs
- Parallel.cs
- TypeDescriptionProviderAttribute.cs
- HttpException.cs
- GeometryConverter.cs
- DecoderNLS.cs
- ColumnHeaderConverter.cs
- DecimalKeyFrameCollection.cs
- InputProcessorProfiles.cs
- ExpressionVisitor.cs
- ManagementException.cs
- ResourceManagerWrapper.cs
- StylusDevice.cs
- CodeGenerator.cs
- GlobalItem.cs
- CardSpacePolicyElement.cs
- DataGridCell.cs
- CompleteWizardStep.cs
- OleDragDropHandler.cs
- EventArgs.cs
- NaturalLanguageHyphenator.cs
- BitArray.cs
- ContextMenu.cs
- Util.cs
- BaseParagraph.cs
- AssemblyAttributes.cs
- FileDialogCustomPlace.cs
- X509Certificate.cs
- ReliabilityContractAttribute.cs
- BindingFormattingDialog.cs