mrfangzheng

Hope and fear are useless. Be confident, and always be prepared for the worst.
  首页  :: 新随笔  :: 联系 :: 管理

BCB:处理Windows消息

Posted on 2010-05-11 21:59  mrfangzheng  阅读(240)  评论(0编辑  收藏  举报

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