Ejemplo n.º 1
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (msg == Win32.WM_ACTIVATE)
            {
                if (Owned)
                {
                    m_hwndAdornerGroup.ActivateInGroupLimits(this);
                }
            }

            else if (msg == Win32.WM_GETMINMAXINFO)
            {
                unsafe
                {
                    MINMAXINFO *minMaxInfo = (MINMAXINFO *)lParam;
                    minMaxInfo->ptMinTrackSize = new POINT()
                    {
                        X = 0, Y = 0
                    };
                }

                // A safe inefficient version for the unsafe block above

                //var minMaxInfo = (MINMAXINFO)Marshal.PtrToStructure(lParam, typeof (MINMAXINFO));
                //minMaxInfo.ptMinTrackSize = new POINT();
                //Marshal.StructureToPtr(minMaxInfo, lParam, true);
            }

            return(IntPtr.Zero);
        }