Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / NoResizeSelectionBorderGlyph.cs / 1 / NoResizeSelectionBorderGlyph.cs
namespace System.Windows.Forms.Design.Behavior { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Drawing; using System.Windows.Forms.Design; ////// /// The NoResizeSelectionBorderGlyph draws one side (depending on type) of a SelectionBorder. /// internal class NoResizeSelectionBorderGlyph : SelectionGlyphBase { ////// /// This constructor extends from the standard SelectionGlyphBase constructor. /// internal NoResizeSelectionBorderGlyph(Rectangle controlBounds, SelectionRules rules, SelectionBorderGlyphType type, Behavior behavior) : base(behavior) { InitializeGlyph(controlBounds, rules, type); } ////// Helper function that initializes the Glyph based on bounds, type, and bordersize. /// private void InitializeGlyph(Rectangle controlBounds, SelectionRules selRules, SelectionBorderGlyphType type) { rules = SelectionRules.None; hitTestCursor = Cursors.Default; if ((selRules & SelectionRules.Moveable) != 0) { rules = SelectionRules.Moveable; hitTestCursor = Cursors.SizeAll; } //this will return the rect representing the bounds of the glyph bounds = DesignerUtils.GetBoundsForNoResizeSelectionType(controlBounds, type); hitBounds = bounds; // The hitbounds for the border is actually a bit bigger than the glyph bounds switch (type) { case SelectionBorderGlyphType.Top: goto case SelectionBorderGlyphType.Bottom; case SelectionBorderGlyphType.Bottom: // We want to apply the SELECTIONBORDERHITAREA to the top and the bottom of the selection border glyph hitBounds.Y -= (DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE) / 2; hitBounds.Height += DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE; break; case SelectionBorderGlyphType.Left: goto case SelectionBorderGlyphType.Right; case SelectionBorderGlyphType.Right: // We want to apply the SELECTIONBORDERHITAREA to the left and the right of the selection border glyph hitBounds.X -= (DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE) / 2; hitBounds.Width += DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE; break; } } ////// /// Simple painting logic for selection Glyphs. /// public override void Paint(PaintEventArgs pe) { DesignerUtils.DrawSelectionBorder(pe.Graphics, bounds); } } } // 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
- PrivacyNoticeBindingElementImporter.cs
- FrameAutomationPeer.cs
- thaishape.cs
- ListenerBinder.cs
- CharacterMetrics.cs
- ListSortDescriptionCollection.cs
- NamedObjectList.cs
- ImageDesigner.cs
- WindowsToolbar.cs
- dtdvalidator.cs
- FormatException.cs
- JsonEnumDataContract.cs
- ClientFormsIdentity.cs
- PageMediaType.cs
- ProvideValueServiceProvider.cs
- PasswordBoxAutomationPeer.cs
- StringAnimationBase.cs
- _AuthenticationState.cs
- TextParagraph.cs
- KeyNotFoundException.cs
- CapabilitiesSection.cs
- FieldNameLookup.cs
- InternalDispatchObject.cs
- GenerateTemporaryTargetAssembly.cs
- TemplateComponentConnector.cs
- AuthenticateEventArgs.cs
- WebRequestModuleElementCollection.cs
- OneOf.cs
- SystemIPGlobalProperties.cs
- PagePropertiesChangingEventArgs.cs
- WasEndpointConfigContainer.cs
- NativeBuffer.cs
- XmlIlVisitor.cs
- FontDriver.cs
- StatusBarDesigner.cs
- BrushValueSerializer.cs
- LayoutTable.cs
- ArraySegment.cs
- WindowsIPAddress.cs
- DebugTrace.cs
- TextElementAutomationPeer.cs
- SubMenuStyle.cs
- NotImplementedException.cs
- BoolExpressionVisitors.cs
- MouseDevice.cs
- EntityClassGenerator.cs
- XmlBinaryWriterSession.cs
- GregorianCalendar.cs
- MDIClient.cs
- ManagementInstaller.cs
- RelationshipFixer.cs
- Journaling.cs
- ColorPalette.cs
- MediaCommands.cs
- COM2Properties.cs
- Unit.cs
- WebPartMinimizeVerb.cs
- BindingMAnagerBase.cs
- CompoundFileReference.cs
- TreeNodeMouseHoverEvent.cs
- MultiTargetingUtil.cs
- CheckBoxField.cs
- QueryPageSettingsEventArgs.cs
- BufferModeSettings.cs
- Convert.cs
- ToolStripContentPanel.cs
- DataTablePropertyDescriptor.cs
- LiteralControl.cs
- FactoryId.cs
- X509ClientCertificateCredentialsElement.cs
- ExtractedStateEntry.cs
- EventBuilder.cs
- DriveInfo.cs
- AssociationTypeEmitter.cs
- Missing.cs
- ShellProvider.cs
- PropertyTabAttribute.cs
- Scene3D.cs
- QueryTask.cs
- FilteredReadOnlyMetadataCollection.cs
- XsltInput.cs
- FunctionNode.cs
- Tag.cs
- SmiConnection.cs
- DocumentSequenceHighlightLayer.cs
- StyleHelper.cs
- DataPagerField.cs
- DBDataPermissionAttribute.cs
- HwndSubclass.cs
- StatusBarItemAutomationPeer.cs
- HtmlGenericControl.cs
- UrlAuthorizationModule.cs
- SignedXml.cs
- BitmapEffectDrawingContextWalker.cs
- PeerCollaboration.cs
- Ticks.cs
- DependencyObject.cs
- ToolboxItemFilterAttribute.cs
- PrinterResolution.cs
- NavigationWindow.cs