C#中无边框窗体改变大小

         const   int  WM_NCHITTEST  =   0x0084 ;
        
const   int  HTLEFT  =   10 ;
        
const   int  HTRIGHT  =   11 ;
        
const   int  HTTOP  =   12 ;
        
const   int  HTTOPLEFT  =   13 ;
        
const   int  HTTOPRIGHT  =   14 ;
        
const   int  HTBOTTOM  =   15 ;
        
const   int  HTBOTTOMLEFT  =   0x10 ;
        
const   int  HTBOTTOMRIGHT  =   17 ;

        
protected   override   void  WndProc( ref  Message m)
        {
            
base .WndProc( ref  m);
            
switch  (m.Msg)
            {
                
case  WM_NCHITTEST:
                    Point vPoint 
=   new  Point(( int )m.LParam  &   0xFFFF ,
                        (
int )m.LParam  >>   16   &   0xFFFF );
                    vPoint 
=  PointToClient(vPoint);
                    
if  (vPoint.X  <=   5 )
                        
if  (vPoint.Y  <=   5 )
                            m.Result 
=  (IntPtr)HTTOPLEFT;
                        
else   if  (vPoint.Y  >=  ClientSize.Height  -   5 )
                            m.Result 
=  (IntPtr)HTBOTTOMLEFT;
                        
else  m.Result  =  (IntPtr)HTLEFT;
                    
else   if  (vPoint.X  >=  ClientSize.Width  -   5 )
                        
if  (vPoint.Y  <=   5 )
                            m.Result 
=  (IntPtr)HTTOPRIGHT;
                        
else   if  (vPoint.Y  >=  ClientSize.Height  -   5 )
                            m.Result 
=  (IntPtr)HTBOTTOMRIGHT;
                        
else  m.Result  =  (IntPtr)HTRIGHT;
                    
else   if  (vPoint.Y  <=   5 )
                        m.Result 
=  (IntPtr)HTTOP;
                    
else   if  (vPoint.Y  >=  ClientSize.Height  -   5 )
                        m.Result 
=  (IntPtr)HTBOTTOM;
                    
break ;
            }
        }

转载于:https://www.cnblogs.com/EasyData/archive/2008/05/05/1183799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值