ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

C# 无边框窗体开发窗体伸缩功能(windows消息)

2020-09-17 02:32:48  阅读:266  来源: 互联网

标签:IntPtr lpint return 缩放 C# windows 窗体 new Rectangle


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

 

标签:IntPtr,lpint,return,缩放,C#,windows,窗体,new,Rectangle
来源: https://www.cnblogs.com/xiushi/p/13682442.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有