Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ComponentModel / COM2Interop / COM2ICategorizePropertiesHandler.cs / 1305376 / COM2ICategorizePropertiesHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ComponentModel.Com2Interop { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using Microsoft.Win32; [System.Security.SuppressUnmanagedCodeSecurityAttribute()] internal class Com2ICategorizePropertiesHandler : Com2ExtendedBrowsingHandler { public override Type Interface { get { return typeof(NativeMethods.ICategorizeProperties); } } private string GetCategoryFromObject(object obj, int dispid) { if (obj == null) { return null; } if (obj is NativeMethods.ICategorizeProperties) { NativeMethods.ICategorizeProperties catObj = (NativeMethods.ICategorizeProperties)obj; try { int categoryID = 0; if (NativeMethods.S_OK == catObj.MapPropertyToCategory(dispid, ref categoryID)) { string categoryName = null; switch (categoryID) { case NativeMethods.ActiveX.PROPCAT_Nil: return ""; case NativeMethods.ActiveX.PROPCAT_Misc: return SR.GetString(SR.PropertyCategoryMisc); case NativeMethods.ActiveX.PROPCAT_Font: return SR.GetString(SR.PropertyCategoryFont); case NativeMethods.ActiveX.PROPCAT_Position: return SR.GetString(SR.PropertyCategoryPosition); case NativeMethods.ActiveX.PROPCAT_Appearance: return SR.GetString(SR.PropertyCategoryAppearance); case NativeMethods.ActiveX.PROPCAT_Behavior: return SR.GetString(SR.PropertyCategoryBehavior); case NativeMethods.ActiveX.PROPCAT_Data: return SR.GetString(SR.PropertyCategoryData); case NativeMethods.ActiveX.PROPCAT_List: return SR.GetString(SR.PropertyCategoryList); case NativeMethods.ActiveX.PROPCAT_Text: return SR.GetString(SR.PropertyCategoryText); case NativeMethods.ActiveX.PROPCAT_Scale: return SR.GetString(SR.PropertyCategoryScale); case NativeMethods.ActiveX.PROPCAT_DDE: return SR.GetString(SR.PropertyCategoryDDE); } if (NativeMethods.S_OK == catObj.GetCategoryName(categoryID, CultureInfo.CurrentCulture.LCID, out categoryName)) { return categoryName; } } } catch { } } return null; } public override void SetupPropertyHandlers(Com2PropertyDescriptor[] propDesc) { if (propDesc == null) { return; } for (int i = 0; i < propDesc.Length; i++) { propDesc[i].QueryGetBaseAttributes += new GetAttributesEventHandler(this.OnGetAttributes); } } private void OnGetAttributes(Com2PropertyDescriptor sender, GetAttributesEvent attrEvent) { string cat = GetCategoryFromObject(sender.TargetObject, sender.DISPID); if (cat != null && cat.Length > 0) { attrEvent.Add(new CategoryAttribute(cat)); } } } } // 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
- ButtonBaseAutomationPeer.cs
- PasswordBoxAutomationPeer.cs
- SBCSCodePageEncoding.cs
- TextTabProperties.cs
- ViewStateException.cs
- GeometryGroup.cs
- SharedDp.cs
- TreeViewItemAutomationPeer.cs
- WebRequestModuleElement.cs
- LinkedList.cs
- XappLauncher.cs
- DataPagerFieldCollection.cs
- LinkedList.cs
- StorageEntityTypeMapping.cs
- ConfigurationManagerHelperFactory.cs
- CompoundFileDeflateTransform.cs
- DataGridViewMethods.cs
- HttpModulesSection.cs
- ProjectionCamera.cs
- TextRangeEdit.cs
- FilteredDataSetHelper.cs
- Variable.cs
- DateRangeEvent.cs
- CaseInsensitiveHashCodeProvider.cs
- ManagementQuery.cs
- ToolStripMenuItemDesigner.cs
- XMLDiffLoader.cs
- GridEntryCollection.cs
- Graphics.cs
- ListSortDescriptionCollection.cs
- TypeSource.cs
- TimersDescriptionAttribute.cs
- SelectionManager.cs
- SolidColorBrush.cs
- ConfigPathUtility.cs
- UndirectedGraph.cs
- DbDataReader.cs
- DispatcherTimer.cs
- WizardStepBase.cs
- LinkedDataMemberFieldEditor.cs
- ControlBuilder.cs
- PrintDocument.cs
- ResourceManager.cs
- EventDescriptorCollection.cs
- TypeConverterHelper.cs
- Regex.cs
- ColorKeyFrameCollection.cs
- Expression.cs
- pingexception.cs
- SmtpSection.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- util.cs
- EnvironmentPermission.cs
- HwndMouseInputProvider.cs
- EncryptedPackageFilter.cs
- ToolStripGripRenderEventArgs.cs
- RotateTransform3D.cs
- Expander.cs
- Effect.cs
- CatchBlock.cs
- MenuItemBindingCollection.cs
- StatusBarAutomationPeer.cs
- TypographyProperties.cs
- DelegateBodyWriter.cs
- ConfigXmlElement.cs
- ISFClipboardData.cs
- HttpHostedTransportConfiguration.cs
- InheritanceRules.cs
- TypeLibConverter.cs
- EncoderExceptionFallback.cs
- TemplateComponentConnector.cs
- Odbc32.cs
- ActivityDefaults.cs
- SafeArrayTypeMismatchException.cs
- WebHttpDispatchOperationSelectorData.cs
- DbDataRecord.cs
- backend.cs
- EventProxy.cs
- PrintControllerWithStatusDialog.cs
- SwitchElementsCollection.cs
- EntityDataSourceViewSchema.cs
- Block.cs
- XmlCompatibilityReader.cs
- DataRowCollection.cs
- followingsibling.cs
- DataGridViewRow.cs
- ScaleTransform.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DayRenderEvent.cs
- CodeTryCatchFinallyStatement.cs
- AppSettingsExpressionBuilder.cs
- MarkupCompiler.cs
- GacUtil.cs
- MediaElementAutomationPeer.cs
- ListBindingConverter.cs
- ToolStripDropDownClosingEventArgs.cs
- PrintingPermissionAttribute.cs
- VScrollProperties.cs
- ApplyTemplatesAction.cs
- XmlSerializerFactory.cs