c# 无边框窗体开发窗体伸缩功能1 protected override void WndProc(ref Message m)2 {3 switch (m.Msg)4 {5 case 0x84:6 base.WndPro...
c# 无边框窗体开发窗体伸缩功能

1 protected override void WndProc(ref Message m)
2 {
3 switch (m.Msg)
4 {
5 case 0x84:
6 base.WndProc(ref m);
7 Point lpint = new Point((int)m.LParam);
8 lpint.Offset(-Left, -Top);
9 Rectangle tBoder = new Rectangle(3, 0, Width-6, 3);
10 Rectangle lBorder = new Rectangle(0, 3, 3, Height-6);
11 Rectangle rBorder = new Rectangle(Width-3, 3, 3, Height-6);
12 Rectangle bBorder = new Rectangle(3, Height-3, Width-6, 3);
13 Rectangle tlBorder = new Rectangle(0, 0, 3, 3);
14 Rectangle tbBorder = new Rectangle(0, Height-3, 3, 3);
15 Rectangle trBorder = new Rectangle(Width-3, 0, 3, 3);
16 Rectangle brBorder = new Rectangle(Width - 3, Height-3, 3, 3);
17 if (tBoder.Contains(lpint))//上-缩放
18 {
19 m.Result = (IntPtr)0xC;
20 return;
21 }
22 if (lBorder.Contains(lpint))//左-缩放
23 {
24 m.Result = (IntPtr)0xA;
25 return;
26 }
27 if (rBorder.Contains(lpint))//右-缩放
28 {
29 m.Result = (IntPtr)0xB;
30 return;
31 }
32 if (bBorder.Contains(lpint))//下-缩放
33 {
34 m.Result = (IntPtr)0xF;
35 return;
36 }
37 if (tlBorder.Contains(lpint))//左上-缩放
38 {
39 m.Result = (IntPtr)0xD;
40 return;
41 }
42 if (tbBorder.Contains(lpint))//左下-缩放
43 {
44 m.Result = (IntPtr)0x10;
45 return;
46 }
47 if (trBorder.Contains(lpint))//右上-缩放
48 {
49 m.Result = (IntPtr)0xE;
50 return;
51 }
52 if (brBorder.Contains(lpint))//右下-缩放
53 {
54 m.Result = (IntPtr)0x11;
55 return;
56 }
57 return;
58 }
59 base.WndProc(ref m);
60 }
View Code
织梦狗教程
本文标题为:C# 无边框窗体开发窗体伸缩功能(windows消息)
基础教程推荐
猜你喜欢
- C# 多线程学习之基础入门 2023-05-10
- C#实现选择排序 2023-06-28
- 基于C#的winform实现数字华容道游戏 2023-05-21
- 浅析c# 线程同步 2023-03-09
- 使用C#编程语言开发Windows Service服务 2023-11-10
- Unity AssetBundle打包工具示例详解 2023-05-05
- C#中多态性的实现 2023-02-07
- C#中的==运算符用法讲解 2023-05-21
- C#操作SQLite数据库方法小结 2023-06-14
- 在C#中查找可用的内存插槽 2023-11-12
