Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / ComponentModel / COM2Interop / COM2ColorConverter.cs / 1 / 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
- BrowserDefinitionCollection.cs
- ApplicationInfo.cs
- ReadOnlyCollectionBase.cs
- SmtpTransport.cs
- RepeatInfo.cs
- TextServicesManager.cs
- InputBinder.cs
- WSDualHttpSecurity.cs
- LineSegment.cs
- IndexOutOfRangeException.cs
- BaseParagraph.cs
- TypeValidationEventArgs.cs
- ExpressionNode.cs
- DefaultParameterValueAttribute.cs
- SafeViewOfFileHandle.cs
- PathData.cs
- Debug.cs
- SolidColorBrush.cs
- Point3DAnimationUsingKeyFrames.cs
- SplitterCancelEvent.cs
- TextServicesPropertyRanges.cs
- InstanceLockQueryResult.cs
- EntityContainerAssociationSetEnd.cs
- DispatcherSynchronizationContext.cs
- UnsignedPublishLicense.cs
- AutomationPatternInfo.cs
- Clipboard.cs
- StringUtil.cs
- XmlExtensionFunction.cs
- BitmapEffectInput.cs
- ImageConverter.cs
- EventPrivateKey.cs
- FileDialog.cs
- DrawingBrush.cs
- ApplicationSecurityInfo.cs
- BinaryMessageFormatter.cs
- ObjectManager.cs
- BitmapCache.cs
- TreeNodeEventArgs.cs
- ColumnMapCopier.cs
- CodeBinaryOperatorExpression.cs
- DrawingVisual.cs
- CommandManager.cs
- DoubleCollection.cs
- ContentType.cs
- UnmanagedMemoryStream.cs
- AutoResetEvent.cs
- StringFreezingAttribute.cs
- CustomBinding.cs
- Properties.cs
- _SingleItemRequestCache.cs
- remotingproxy.cs
- PrefixQName.cs
- TraceSwitch.cs
- XsltLoader.cs
- AdRotator.cs
- DataObjectPastingEventArgs.cs
- LogLogRecordEnumerator.cs
- RadioButton.cs
- ListViewGroupConverter.cs
- DateTimeParse.cs
- BaseParaClient.cs
- RequestCacheManager.cs
- MimeTypePropertyAttribute.cs
- XmlEventCache.cs
- FormatException.cs
- ParentControlDesigner.cs
- TileBrush.cs
- KeyTimeConverter.cs
- ConfigXmlSignificantWhitespace.cs
- AsyncContentLoadedEventArgs.cs
- DataBindingExpressionBuilder.cs
- DataGridHeaderBorder.cs
- FilterElement.cs
- PagesChangedEventArgs.cs
- PersonalizableTypeEntry.cs
- OptimisticConcurrencyException.cs
- OptimalBreakSession.cs
- WindowsStatic.cs
- HtmlValidationSummaryAdapter.cs
- ReflectPropertyDescriptor.cs
- IntegerFacetDescriptionElement.cs
- CompilerScope.Storage.cs
- PageClientProxyGenerator.cs
- AutomationIdentifierGuids.cs
- WindowsListViewScroll.cs
- HttpWebResponse.cs
- WmpBitmapDecoder.cs
- XmlSchemaType.cs
- DataTableTypeConverter.cs
- CurrentChangingEventArgs.cs
- KeyGestureConverter.cs
- BuildProvidersCompiler.cs
- PtsHelper.cs
- SqlStream.cs
- DateTimeOffsetStorage.cs
- SingleObjectCollection.cs
- ProxyGenerator.cs
- DataServiceBuildProvider.cs
- CodeConstructor.cs