无边窗体 鼠标进入窗体边界鼠标状态改变 进行调整窗体大小
2011-10-21 15:33
204 查看
/// <summary> /// 重写改变窗体大小 /// </summary> /// <param name="m"></param> protected override void WndProc(ref Message m) { const int WM_NCHITTEST = 0x0084; int HTCLIENT = 1; int HTLEFT = 10; int HTRIGHT = 11; int HTTOP = 12; int HTTOPLEFT = 13; int HTTOPRIGHT = 14; int HTBOTTOM = 15; int HTBOTTOMLEFT = 16; int HTBOTTOMRIGHT = 17; int offset = 3; switch (m.Msg) { case WM_NCHITTEST: int px = Form.MousePosition.X - this.Left; int py = Form.MousePosition.Y - this.Top; int temp; if (px >= this.Width - offset) { if (py <= offset) temp = HTTOPRIGHT; else if (py >= this.Height - offset) temp = HTBOTTOMRIGHT; else temp = HTRIGHT; } else if (px <= offset) { if (py <= offset) temp = HTTOPLEFT; else if (py >= this.Height - offset) temp = HTBOTTOMLEFT; else temp = HTLEFT; } else { if (py <= offset) temp = HTTOP; else if (py >= this.Height - offset) temp = HTBOTTOM; else temp = HTCLIENT; } m.Result = (IntPtr)temp; break; default: base.WndProc(ref m); break; } }
相关文章推荐
- Winfrom中怎么设置窗体大小的最小值,用鼠标改变窗体大小时,小到一定程度就小不了了
- WPF 窗体中的 Canvas 限定范围拖动 鼠标滚轴改变大小
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果,滤波,图像截取) 对图片的处理 : 亮度调整 抓屏 翻转 随鼠标画矩形
- java中 实现无标题无边框的窗体能够用鼠标拖动改变窗口大小
- delphi 无边框用鼠标改变窗体大小
- C#关于控件随窗体的改变而自动调整大小并且能重新定位的一些简单介绍和控件随窗体改变自适应类
- VC中鼠标拖动改变窗体大小
- c++builder如何通过鼠标拖动改变无边框窗体的大小(bsnone)
- C# WinForm控件随窗体大小改变自动适应改变
- datagridview 随窗口大小改变自动调整列宽
- C#控件随窗体大小自动调整
- 改变鼠标的状态,显示为忙碌
- 动态改变对话框可调整大小属性
- 没有标题栏并可以调整大小的窗体
- swing jtable 单元编辑事件(包括通过键盘获取焦点后编辑和鼠标双击后进入编辑状态)
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- wpf 控件大小随窗体大小改变而改变
- jQuery——鼠标滑过div状态改变
- Qt实现屏保功能,鼠标一定时间无响应程序进入待机状态
- delphi SetWindowPos改变窗体位置和状态