Code:
/ FX-1434 / FX-1434 / 1.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
- SqlInternalConnectionTds.cs
- ZipIOBlockManager.cs
- SingleTagSectionHandler.cs
- SocketSettings.cs
- SmiTypedGetterSetter.cs
- BrowserDefinitionCollection.cs
- BackStopAuthenticationModule.cs
- SerialPort.cs
- WebExceptionStatus.cs
- _ProxyChain.cs
- MissingMemberException.cs
- CanonicalFontFamilyReference.cs
- RecordManager.cs
- ExtenderProviderService.cs
- SQLByteStorage.cs
- DesignTableCollection.cs
- TextBox.cs
- GridViewSortEventArgs.cs
- ProtocolsSection.cs
- ContractMapping.cs
- TextEditorCharacters.cs
- UserInitiatedNavigationPermission.cs
- CreateUserWizardStep.cs
- AssociativeAggregationOperator.cs
- Query.cs
- UInt32Storage.cs
- MethodExpr.cs
- SQLBinary.cs
- MethodCallExpression.cs
- BoolLiteral.cs
- Point4DConverter.cs
- dtdvalidator.cs
- ObjectResult.cs
- PenCursorManager.cs
- PageFunction.cs
- WebPartDisplayModeCollection.cs
- DetailsViewDeletedEventArgs.cs
- BitFlagsGenerator.cs
- InvalidPropValue.cs
- WorkflowMarkupSerializationManager.cs
- ObservableCollection.cs
- NumberSubstitution.cs
- DocumentApplication.cs
- CompiledQuery.cs
- EncoderBestFitFallback.cs
- BaseResourcesBuildProvider.cs
- KnownIds.cs
- grammarelement.cs
- ExtendedPropertyDescriptor.cs
- UserPreference.cs
- WindowsFormsHelpers.cs
- FastEncoderWindow.cs
- DelimitedListTraceListener.cs
- ReliableMessagingVersionConverter.cs
- Geometry3D.cs
- XmlNodeWriter.cs
- XmlSiteMapProvider.cs
- ResponseStream.cs
- IPPacketInformation.cs
- EntityProviderServices.cs
- RangeExpression.cs
- TransactionScopeDesigner.cs
- Cursors.cs
- UpdatePanelControlTrigger.cs
- AxisAngleRotation3D.cs
- WindowsToolbarAsMenu.cs
- ParallelRangeManager.cs
- XsdDataContractExporter.cs
- NumberFunctions.cs
- WebEvents.cs
- ButtonBaseDesigner.cs
- OdbcReferenceCollection.cs
- EastAsianLunisolarCalendar.cs
- DotExpr.cs
- SHA512Cng.cs
- BeginStoryboard.cs
- METAHEADER.cs
- DataGridViewComboBoxEditingControl.cs
- PropertyPushdownHelper.cs
- HostDesigntimeLicenseContext.cs
- AssemblyName.cs
- ReferentialConstraintRoleElement.cs
- ContextBase.cs
- CodeCatchClauseCollection.cs
- TrackingStringDictionary.cs
- TdsRecordBufferSetter.cs
- OSFeature.cs
- UpdateDelegates.Generated.cs
- SecurityTokenException.cs
- ObjectQuery.cs
- PointUtil.cs
- ZipIORawDataFileBlock.cs
- HTMLTextWriter.cs
- MenuCommand.cs
- WmpBitmapDecoder.cs
- InstanceContextManager.cs
- GatewayDefinition.cs
- HttpCookie.cs
- XmlNamedNodeMap.cs
- FrameAutomationPeer.cs