Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ComponentModel / COM2Interop / COM2ColorConverter.cs / 1305376 / COM2ColorConverter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms.ComponentModel.Com2Interop {
using System.Runtime.Serialization.Formatters;
using System.ComponentModel;
using System.Diagnostics;
using System;
using System.Drawing;
using System.Collections;
using Microsoft.Win32;
///
///
/// This class maps an OLE_COLOR to a managed Color editor.
///
internal class Com2ColorConverter : Com2DataTypeToManagedDataTypeConverter{
///
///
/// Returns the managed type that this editor maps the property type to.
///
public override Type ManagedType{
get{
return typeof(Color);
}
}
///
///
/// Converts the native value into a managed value
///
public override object ConvertNativeToManaged(object nativeValue, Com2PropertyDescriptor pd){
object baseValue = nativeValue;
int intVal = 0;
// get the integer value out of the native...
//
if (nativeValue is UInt32){
intVal = (int)(UInt32)nativeValue;
}
else if (nativeValue is Int32){
intVal = (int)nativeValue;
}
return ColorTranslator.FromOle(intVal);
}
///
///
/// Converts the managed value into a native value
///
public override object ConvertManagedToNative(object managedValue, Com2PropertyDescriptor pd, ref bool cancelSet){
// don't cancel the set
cancelSet = false;
// we default to black.
//
if (managedValue == null){
managedValue = Color.Black;
}
if (managedValue is Color){
return ColorTranslator.ToOle(((Color)managedValue));
}
Debug.Fail("Don't know how to set type:" + managedValue.GetType().Name);
return 0;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms.ComponentModel.Com2Interop {
using System.Runtime.Serialization.Formatters;
using System.ComponentModel;
using System.Diagnostics;
using System;
using System.Drawing;
using System.Collections;
using Microsoft.Win32;
///
///
/// This class maps an OLE_COLOR to a managed Color editor.
///
internal class Com2ColorConverter : Com2DataTypeToManagedDataTypeConverter{
///
///
/// Returns the managed type that this editor maps the property type to.
///
public override Type ManagedType{
get{
return typeof(Color);
}
}
///
///
/// Converts the native value into a managed value
///
public override object ConvertNativeToManaged(object nativeValue, Com2PropertyDescriptor pd){
object baseValue = nativeValue;
int intVal = 0;
// get the integer value out of the native...
//
if (nativeValue is UInt32){
intVal = (int)(UInt32)nativeValue;
}
else if (nativeValue is Int32){
intVal = (int)nativeValue;
}
return ColorTranslator.FromOle(intVal);
}
///
///
/// Converts the managed value into a native value
///
public override object ConvertManagedToNative(object managedValue, Com2PropertyDescriptor pd, ref bool cancelSet){
// don't cancel the set
cancelSet = false;
// we default to black.
//
if (managedValue == null){
managedValue = Color.Black;
}
if (managedValue is Color){
return ColorTranslator.ToOle(((Color)managedValue));
}
Debug.Fail("Don't know how to set type:" + managedValue.GetType().Name);
return 0;
}
}
}
// 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
- LoaderAllocator.cs
- DoubleIndependentAnimationStorage.cs
- Vector.cs
- BasicKeyConstraint.cs
- ConfigurationException.cs
- TimeZone.cs
- CodeNamespace.cs
- FormViewCommandEventArgs.cs
- PenThread.cs
- CapabilitiesRule.cs
- DbProviderSpecificTypePropertyAttribute.cs
- FormViewDesigner.cs
- XmlSchemaInclude.cs
- TableCellAutomationPeer.cs
- RelatedPropertyManager.cs
- RadioButton.cs
- Geometry.cs
- SerializationSectionGroup.cs
- AutomationIdentifierGuids.cs
- DataBindEngine.cs
- SQLSingleStorage.cs
- BuildTopDownAttribute.cs
- Clock.cs
- DifferencingCollection.cs
- SmtpReplyReader.cs
- PhysicalAddress.cs
- DbConnectionStringCommon.cs
- HtmlLabelAdapter.cs
- SqlXmlStorage.cs
- AppDomainShutdownMonitor.cs
- DtdParser.cs
- TagPrefixAttribute.cs
- AuthenticateEventArgs.cs
- TypedDataSetSchemaImporterExtension.cs
- TaiwanCalendar.cs
- SafeRegistryHandle.cs
- TokenBasedSet.cs
- RoleManagerModule.cs
- ColumnMapProcessor.cs
- ProcessProtocolHandler.cs
- TransformationRules.cs
- EntityCommandDefinition.cs
- SynchronizingStream.cs
- TiffBitmapEncoder.cs
- TcpDuplicateContext.cs
- AccessorTable.cs
- XmlHelper.cs
- DataBoundControlAdapter.cs
- ProfilePropertyNameValidator.cs
- StyleHelper.cs
- TileModeValidation.cs
- CultureTableRecord.cs
- ListViewUpdateEventArgs.cs
- BinHexDecoder.cs
- TraceSection.cs
- ServicePointManager.cs
- WeakReference.cs
- Color.cs
- SqlReferenceCollection.cs
- SqlStatistics.cs
- ImageClickEventArgs.cs
- BaseDataListDesigner.cs
- HelpKeywordAttribute.cs
- ToolBarTray.cs
- XmlNullResolver.cs
- FormViewUpdatedEventArgs.cs
- CredentialCache.cs
- ThicknessKeyFrameCollection.cs
- AmbientValueAttribute.cs
- Token.cs
- OperatingSystem.cs
- StickyNoteAnnotations.cs
- GradientSpreadMethodValidation.cs
- SecurityElement.cs
- RadioButton.cs
- LayoutManager.cs
- LinqDataSourceStatusEventArgs.cs
- AxisAngleRotation3D.cs
- Int16AnimationUsingKeyFrames.cs
- SimpleBitVector32.cs
- TdsParserSafeHandles.cs
- DataSourceXmlAttributeAttribute.cs
- Boolean.cs
- ScriptHandlerFactory.cs
- CopyEncoder.cs
- Line.cs
- MediaSystem.cs
- MissingManifestResourceException.cs
- FileLogRecord.cs
- StatusBarPanelClickEvent.cs
- EFColumnProvider.cs
- SqlCacheDependencyDatabase.cs
- ValidatorAttribute.cs
- DataGridViewCheckBoxCell.cs
- TableCell.cs
- PropertyEmitterBase.cs
- Repeater.cs
- DataPagerFieldItem.cs
- CompoundFileStorageReference.cs
- BitmapEffect.cs