Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ButtonInternal / CheckBoxFlatAdapter.cs / 1305376 / CheckBoxFlatAdapter.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 CheckBoxFlatAdapter : CheckBoxBaseAdapter {
internal CheckBoxFlatAdapter(ButtonBase control) : base(control) {}
internal override void PaintDown(PaintEventArgs e, CheckState state) {
if (Control.Appearance == Appearance.Button) {
ButtonAdapter.PaintDown(e, Control.CheckState);
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) {
ButtonAdapter.PaintOver(e, Control.CheckState);
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) {
ButtonAdapter.PaintUp(e, Control.CheckState);
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);
}
}
private 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, colors);
PaintField(e, layout, colors, checkColor, true);
}
#region Layout
private new ButtonFlatAdapter ButtonAdapter {
get {
return ((ButtonFlatAdapter)base.ButtonAdapter);
}
}
protected override ButtonBaseAdapter CreateButtonAdapter() {
return new ButtonFlatAdapter(Control);
}
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.
//------------------------------------------------------------------------------
//
// 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 CheckBoxFlatAdapter : CheckBoxBaseAdapter {
internal CheckBoxFlatAdapter(ButtonBase control) : base(control) {}
internal override void PaintDown(PaintEventArgs e, CheckState state) {
if (Control.Appearance == Appearance.Button) {
ButtonAdapter.PaintDown(e, Control.CheckState);
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) {
ButtonAdapter.PaintOver(e, Control.CheckState);
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) {
ButtonAdapter.PaintUp(e, Control.CheckState);
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);
}
}
private 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, colors);
PaintField(e, layout, colors, checkColor, true);
}
#region Layout
private new ButtonFlatAdapter ButtonAdapter {
get {
return ((ButtonFlatAdapter)base.ButtonAdapter);
}
}
protected override ButtonBaseAdapter CreateButtonAdapter() {
return new ButtonFlatAdapter(Control);
}
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
- SelectionEditingBehavior.cs
- TextEditorSpelling.cs
- Utils.cs
- Expander.cs
- PrimitiveXmlSerializers.cs
- ServiceProviders.cs
- PropertyMapper.cs
- DataGridHeaderBorder.cs
- OverlappedAsyncResult.cs
- PLINQETWProvider.cs
- TextServicesProperty.cs
- C14NUtil.cs
- ProfileSection.cs
- QualificationDataItem.cs
- BitmapSizeOptions.cs
- SqlDataSourceCommandEventArgs.cs
- InfoCardMetadataExchangeClient.cs
- ConfigurationManagerHelper.cs
- TypeLoader.cs
- BaseParagraph.cs
- WeakReferenceList.cs
- Dynamic.cs
- BuilderInfo.cs
- QilXmlReader.cs
- Frame.cs
- SystemIPInterfaceProperties.cs
- MissingMethodException.cs
- NodeInfo.cs
- EditableRegion.cs
- AutoSizeToolBoxItem.cs
- ObfuscationAttribute.cs
- QuaternionConverter.cs
- Solver.cs
- oledbconnectionstring.cs
- XPathNodeHelper.cs
- DiffuseMaterial.cs
- Win32MouseDevice.cs
- ColumnWidthChangedEvent.cs
- RemotingAttributes.cs
- DataGridViewLayoutData.cs
- Int16.cs
- WeakRefEnumerator.cs
- Span.cs
- ThemeDirectoryCompiler.cs
- SafeNativeMethodsMilCoreApi.cs
- HeaderUtility.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- NegationPusher.cs
- CollectionType.cs
- HttpWriter.cs
- WebPartEditorCancelVerb.cs
- SystemKeyConverter.cs
- DependencyPropertyDescriptor.cs
- SqlBulkCopy.cs
- TraceContextRecord.cs
- Matrix3DStack.cs
- XmlSchemaSimpleTypeUnion.cs
- TemplateBamlTreeBuilder.cs
- x509utils.cs
- DynamicUpdateCommand.cs
- DesignerForm.cs
- CodeTypeMember.cs
- SettingsPropertyValueCollection.cs
- UInt16Converter.cs
- SqlDataSourceConnectionPanel.cs
- cookiecontainer.cs
- HtmlUtf8RawTextWriter.cs
- DocumentPageView.cs
- ResolveMatchesMessage11.cs
- HeaderedItemsControl.cs
- ConfigurationManagerHelper.cs
- DesignerActionUIStateChangeEventArgs.cs
- OwnerDrawPropertyBag.cs
- NativeMethods.cs
- SettingsPropertyValueCollection.cs
- Range.cs
- ComEventsMethod.cs
- UnauthorizedWebPart.cs
- invalidudtexception.cs
- InputMethodStateChangeEventArgs.cs
- RegexGroup.cs
- StylusOverProperty.cs
- MenuItemBindingCollection.cs
- MultipartIdentifier.cs
- Margins.cs
- DateTimeValueSerializerContext.cs
- XPathItem.cs
- HttpsHostedTransportConfiguration.cs
- CqlLexer.cs
- DocumentViewer.cs
- SimpleFileLog.cs
- autovalidator.cs
- MouseBinding.cs
- OutputCacheModule.cs
- Serializer.cs
- WindowsGraphics2.cs
- TypeDependencyAttribute.cs
- EndpointAddressProcessor.cs
- ApplicationSecurityInfo.cs
- DataPagerFieldCommandEventArgs.cs