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
- DragCompletedEventArgs.cs
- ObjectSecurity.cs
- MulticastDelegate.cs
- ScalarConstant.cs
- VScrollProperties.cs
- ToolStripControlHost.cs
- OpCodes.cs
- NameTable.cs
- FileRecordSequenceHelper.cs
- AspProxy.cs
- CodeIndexerExpression.cs
- ChainOfDependencies.cs
- HyperLinkStyle.cs
- HostProtectionPermission.cs
- ByteKeyFrameCollection.cs
- X509Chain.cs
- MenuItemAutomationPeer.cs
- LinqDataSourceInsertEventArgs.cs
- SqlBulkCopyColumnMappingCollection.cs
- ReturnEventArgs.cs
- UTF8Encoding.cs
- HttpFileCollectionWrapper.cs
- EntityKeyElement.cs
- Attribute.cs
- Expander.cs
- TrackingProfileSerializer.cs
- IPGlobalProperties.cs
- StylusDownEventArgs.cs
- dtdvalidator.cs
- xmlglyphRunInfo.cs
- ResourceProperty.cs
- DataGridViewAccessibleObject.cs
- ProfileSection.cs
- RawUIStateInputReport.cs
- MaskDescriptor.cs
- CompositeCollectionView.cs
- ToolStripArrowRenderEventArgs.cs
- ScriptRegistrationManager.cs
- VolatileEnlistmentState.cs
- ThreadExceptionDialog.cs
- EngineSite.cs
- NumericUpDown.cs
- LoginCancelEventArgs.cs
- VisualStyleRenderer.cs
- SecurityTokenSpecification.cs
- ChannelSinkStacks.cs
- FixUpCollection.cs
- DataGridRowsPresenter.cs
- HostedElements.cs
- InheritanceContextChangedEventManager.cs
- CodeIterationStatement.cs
- GlobalizationSection.cs
- HtmlImageAdapter.cs
- SafeFileMappingHandle.cs
- AdapterDictionary.cs
- StateWorkerRequest.cs
- ErrorHandler.cs
- WebPartZone.cs
- DateTimeConstantAttribute.cs
- ProviderCollection.cs
- ResourceContainer.cs
- UITypeEditor.cs
- MetadataAssemblyHelper.cs
- ViewLoader.cs
- BufferAllocator.cs
- XmlSchemaSequence.cs
- PeerNameRecordCollection.cs
- HandlerElement.cs
- ToolStripPanelCell.cs
- HttpWriter.cs
- HttpFormatExtensions.cs
- PrintController.cs
- DataColumnMapping.cs
- PrefixQName.cs
- CellNormalizer.cs
- ReadWriteObjectLock.cs
- ApplicationHost.cs
- HttpCookie.cs
- PointCollectionValueSerializer.cs
- MetadataItem.cs
- DataSetFieldSchema.cs
- SafeFileMappingHandle.cs
- PropertyDescriptor.cs
- Message.cs
- COM2ExtendedTypeConverter.cs
- ToggleButtonAutomationPeer.cs
- MultiSelectRootGridEntry.cs
- ComAdminInterfaces.cs
- Assert.cs
- TextEditorCopyPaste.cs
- Process.cs
- CacheVirtualItemsEvent.cs
- QueryContinueDragEvent.cs
- HttpDebugHandler.cs
- BaseTreeIterator.cs
- DisplayInformation.cs
- TraceXPathNavigator.cs
- CharKeyFrameCollection.cs
- DocumentAutomationPeer.cs
- XomlCompilerHelpers.cs