1.MESSAGE_HANDLER

 

public:
    BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(WM_NCHITTEST,TWMNCHitTest ,OnNcHitTest)
    END_MESSAGE_MAP(TForm)

    
void __fastcall OnNcHitTest(TWMNCHitTest&);

 

 

 

//---------------------------------------------------------------------------
void __fastcall TForm1::OnNcHitTest(TWMNCHitTest& Msg)
{

        
// 分解当前鼠标的坐标
         int nPosX = Msg.XPos;
        
int nPosY = Msg.YPos;
        
if(nPosX >= Left + Width - 2 && nPosY >= Top + Height - 2)
        {
            
// 鼠标位置在窗体的右下角附近
            Msg.Result = HTBOTTOMRIGHT;
            
return;
        }
        
else if(nPosX >= Left + Width -2)
        {
            
// 鼠标位置在窗体右侧
            Msg.Result = HTRIGHT;
            
return;
        }
        
else if(nPosY >= Top + Height - 2)
        {
            
// 鼠标位置在窗体下方
            Msg.Result = HTBOTTOM;
            
return;
        }

        TForm::
Dispatch(&Msg);
}

 

 

2. 重写WndProc

 

 

 

相关文章:

  • 2021-10-18
  • 2021-06-11
  • 2022-12-23
  • 2022-12-23
  • 2021-10-16
  • 2021-06-06
  • 2022-12-23
  • 2021-07-22
猜你喜欢
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
  • 2022-01-02
  • 2022-02-08
相关资源
相似解决方案