Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ToolStripItemGlyph.cs / 2 / ToolStripItemGlyph.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System.Design; using Accessibility; using System.Runtime.Serialization.Formatters; using System.Threading; using System.Runtime.InteropServices; using System.ComponentModel; using System.Diagnostics; using System; using System.Security; using System.Security.Permissions; using System.Collections; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Windows.Forms; using System.Drawing; using System.Drawing.Design; using Microsoft.Win32; using System.Windows.Forms.Design.Behavior; using System.Reflection; ////// The glyph we put over the items. Basically this sets the hit-testable area of the item itself. /// internal class ToolStripItemGlyph : ControlBodyGlyph{ private ToolStripItem _item; private Rectangle _bounds; private ToolStripItemDesigner _itemDesigner; public ToolStripItemGlyph(ToolStripItem item, ToolStripItemDesigner itemDesigner, Rectangle bounds, System.Windows.Forms.Design.Behavior.Behavior b) : base(bounds, Cursors.Default, item, b) { _item = item; _bounds = bounds; _itemDesigner = itemDesigner; } public ToolStripItem Item { get { return _item; } } public override Rectangle Bounds { get { return _bounds; } } public ToolStripItemDesigner ItemDesigner { get { return _itemDesigner; } } ////// /// Abstract method that forces Glyph implementations to provide /// hit test logic. Given any point - if the Glyph has decided to /// be involved with that location, the Glyph will need to return /// a valid Cursor. Otherwise, returning null will cause the /// the BehaviorService to simply ignore it. /// public override Cursor GetHitTest(Point p) { if (_item.Visible && _bounds.Contains(p)) { return Cursors.Default; } return null; } ////// /// Control host dont draw on Invalidation... /// public override void Paint(PaintEventArgs pe) { if (_item is ToolStripControlHost && _item.IsOnDropDown ) { if( _item is System.Windows.Forms.ToolStripComboBox && VisualStyles.VisualStyleRenderer.IsSupported) { // When processing WM_PAINT and the OS has a theme enabled, the native ComboBox sends a WM_PAINT // message to its parent when a theme is enabled in the OS forcing a repaint in the AdornerWindow // generating an infinite WM_PAINT message processing loop. We guard against this here. See DDB#99105. return; } _item.Invalidate(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EdmConstants.cs
- AggregationMinMaxHelpers.cs
- EventPropertyMap.cs
- BatchWriter.cs
- SafeNativeMethodsOther.cs
- SiteIdentityPermission.cs
- WindowsTitleBar.cs
- Camera.cs
- AssemblyInfo.cs
- FacetDescriptionElement.cs
- WebPartRestoreVerb.cs
- HtmlInputText.cs
- COM2ExtendedTypeConverter.cs
- TdsRecordBufferSetter.cs
- MessageEncodingBindingElement.cs
- DataGridViewCellStyleChangedEventArgs.cs
- PaginationProgressEventArgs.cs
- DataGridTableStyleMappingNameEditor.cs
- BuildProviderCollection.cs
- ObjectAnimationUsingKeyFrames.cs
- StrokeCollectionConverter.cs
- ArgumentException.cs
- EventlogProvider.cs
- ConnectivityStatus.cs
- TablePattern.cs
- SqlBuilder.cs
- DependencyPropertyHelper.cs
- HotSpot.cs
- DiscoveryRequestHandler.cs
- WindowsStreamSecurityUpgradeProvider.cs
- WindowClosedEventArgs.cs
- HttpCacheVaryByContentEncodings.cs
- __ConsoleStream.cs
- Duration.cs
- TextSchema.cs
- CallSite.cs
- LinkButton.cs
- TraceUtils.cs
- Publisher.cs
- WebPartCancelEventArgs.cs
- EnumDataContract.cs
- XsdDuration.cs
- ServerType.cs
- XNodeValidator.cs
- InvalidOleVariantTypeException.cs
- DataError.cs
- HttpListenerContext.cs
- UriTemplateLiteralQueryValue.cs
- DataContract.cs
- XmlEventCache.cs
- InputLanguage.cs
- XmlParserContext.cs
- sqlinternaltransaction.cs
- TextDecorationUnitValidation.cs
- EventSinkActivityDesigner.cs
- RedistVersionInfo.cs
- HostingEnvironment.cs
- SystemIdentity.cs
- RectAnimationBase.cs
- GridItemPatternIdentifiers.cs
- BitmapEffectInputData.cs
- TaskDesigner.cs
- BroadcastEventHelper.cs
- BasePropertyDescriptor.cs
- WebCategoryAttribute.cs
- LocationUpdates.cs
- MediaTimeline.cs
- MouseGestureConverter.cs
- OdbcUtils.cs
- MethodAccessException.cs
- SecurityKeyType.cs
- Reference.cs
- ImageList.cs
- FocusWithinProperty.cs
- mediapermission.cs
- ComponentManagerBroker.cs
- ContextBase.cs
- UserControl.cs
- ToolStripRenderer.cs
- DispatcherObject.cs
- ReflectionPermission.cs
- ItemsControl.cs
- WindowsButton.cs
- XmlTextReaderImpl.cs
- OdbcException.cs
- dbdatarecord.cs
- Point3DAnimationUsingKeyFrames.cs
- PropertyStore.cs
- Root.cs
- XPathDocumentIterator.cs
- CancellationState.cs
- WebBaseEventKeyComparer.cs
- SerializableTypeCodeDomSerializer.cs
- TextElement.cs
- SortedDictionary.cs
- MailAddress.cs
- ToolStripSplitButton.cs
- MimeTypeAttribute.cs
- SettingsPropertyValue.cs
- PeoplePickerWrapper.cs