NoResizeHandleGlyph.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / NoResizeHandleGlyph.cs / 1 / NoResizeHandleGlyph.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.Drawing.Drawing2D;
    using System.Windows.Forms.Design; 
    using System.Runtime.InteropServices;

    /// 
    ///  
    ///     The NoResizeHandleGlyph represents the handle for a non-resizeable control in our new seleciton
    ///     model.  Note that the pen and brush are created once per instance of this class 
    ///     and re-used in our painting logic for perf. reasonse. 
    /// 
    internal class NoResizeHandleGlyph : SelectionGlyphBase { 

        private bool isPrimary = false;

        ///  
        /// 
        ///     NoResizeHandleGlyph's constructor takes additional parameters: 'type' and 'primary selection'. 
        ///     Also, we create/cache our pen & brush here to avoid this action with every paint message. 
        /// 
        internal NoResizeHandleGlyph(Rectangle controlBounds, SelectionRules selRules, bool primarySelection, Behavior behavior) : base(behavior) { 

            isPrimary = primarySelection;
            hitTestCursor = Cursors.Default;
            rules = SelectionRules.None; 
            if ((selRules & SelectionRules.Moveable) != 0) {
                rules = SelectionRules.Moveable; 
                hitTestCursor = Cursors.SizeAll; 
            }
 
            // The handle is always upperleft
            bounds = new Rectangle(controlBounds.X - DesignerUtils.NORESIZEHANDLESIZE, controlBounds.Y - DesignerUtils.NORESIZEHANDLESIZE, DesignerUtils.NORESIZEHANDLESIZE, DesignerUtils.NORESIZEHANDLESIZE);
            hitBounds = bounds;
 
        }
 
        ///  
        /// 
        ///     Very simple paint logic. 
        /// 
        public override void Paint(PaintEventArgs pe) {
            DesignerUtils.DrawNoResizeHandle(pe.Graphics, bounds, isPrimary, this);
        } 

    } 
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK