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
- GridSplitter.cs
- InkCanvasAutomationPeer.cs
- AuthenticationSection.cs
- EnumValidator.cs
- OleDbWrapper.cs
- EventLogRecord.cs
- WaitHandleCannotBeOpenedException.cs
- ArraySortHelper.cs
- ProfileServiceManager.cs
- DiscoveryServiceExtension.cs
- ScrollItemPattern.cs
- ManualResetEventSlim.cs
- GridViewSelectEventArgs.cs
- ContainerControl.cs
- BindingGraph.cs
- FixedSOMTextRun.cs
- AnnouncementService.cs
- XmlException.cs
- ViewValidator.cs
- MonitoringDescriptionAttribute.cs
- FtpCachePolicyElement.cs
- InertiaExpansionBehavior.cs
- PermissionListSet.cs
- GiveFeedbackEvent.cs
- RoleManagerEventArgs.cs
- ContextMenuAutomationPeer.cs
- HttpCookieCollection.cs
- SafeLocalMemHandle.cs
- ConnectionOrientedTransportManager.cs
- PointLight.cs
- CategoryAttribute.cs
- FlatButtonAppearance.cs
- MailAddress.cs
- TableParaClient.cs
- categoryentry.cs
- RegistrationServices.cs
- XmlComment.cs
- OdbcError.cs
- ResolveResponseInfo.cs
- ReadOnlyCollectionBase.cs
- LookupBindingPropertiesAttribute.cs
- TypeProvider.cs
- TextMetrics.cs
- IntegrationExceptionEventArgs.cs
- SqlReferenceCollection.cs
- StringConverter.cs
- Size.cs
- FixedPage.cs
- Registry.cs
- DataKey.cs
- connectionpool.cs
- ProfilePropertySettings.cs
- DataGridViewTopLeftHeaderCell.cs
- DataControlCommands.cs
- XmlNamespaceMappingCollection.cs
- TargetConverter.cs
- DataGridViewRowPrePaintEventArgs.cs
- EntityDataSourceWrapperCollection.cs
- HttpRequestTraceRecord.cs
- ActiveXSite.cs
- TrackingMemoryStreamFactory.cs
- TreeNodeEventArgs.cs
- CornerRadiusConverter.cs
- embossbitmapeffect.cs
- MasterPageBuildProvider.cs
- DesignerActionMethodItem.cs
- TableItemStyle.cs
- XMLSyntaxException.cs
- OneOfElement.cs
- CodeTypeParameter.cs
- HyperLinkColumn.cs
- WinFormsUtils.cs
- ProviderBase.cs
- PropertyDescriptorComparer.cs
- ObjectAnimationUsingKeyFrames.cs
- BaseUriHelper.cs
- GPRECT.cs
- ServiceDurableInstance.cs
- BaseInfoTable.cs
- QilVisitor.cs
- PathGradientBrush.cs
- TaskScheduler.cs
- DataContractSerializerElement.cs
- ImageDrawing.cs
- DBCSCodePageEncoding.cs
- LocalizableAttribute.cs
- SelectionHighlightInfo.cs
- COM2TypeInfoProcessor.cs
- ParamArrayAttribute.cs
- XamlPointCollectionSerializer.cs
- DrawListViewItemEventArgs.cs
- ResolveMatchesMessage11.cs
- FixedTextView.cs
- SafeNativeMethodsMilCoreApi.cs
- HtmlCalendarAdapter.cs
- SectionUpdates.cs
- TableLayoutCellPaintEventArgs.cs
- DetailsViewRow.cs
- PagedDataSource.cs
- WebPartMenuStyle.cs