初学Borland C++,想编程实现拖曳一个Main窗口时,让另一个message窗口跟随其移动,两个窗口在拖曳过程中保持左右并排。两个窗口都是Form,且二者没有父子关系。我一开始打算在Main窗口的OnMouseDown中调整message窗的top和left,但是运行之后,发现无论鼠标如何点击,都无法进入OnMouseDown函数中。请问各位大虾,这是怎么回事呢?应该如何实现拖曳跟随呢?先行谢过各位了~~

protected:
    virtual void __fastcall WndProc(Messages::TMessage &Message);

void __fastcall TForm1::WndProc(Messages::TMessage &Message)
{
    TForm::WndProc(Message);

    if(Message.Msg == WM_MOVING)
    {
        Form2->Top = Top;
        Form2->Left = Left + Width;
        Form2->Show();
    }

}

谢谢二位的指点。现在我想加上如下的效果:拖曳Main窗口,Message 窗口跟随(已经能够很好的实现了);让Message窗口在离Main窗口足够近的地方时自动靠拢对齐。
不过按照闲云野鹤兄的方法做呢,在拖动Message窗口靠近Main窗时,容易发生Message窗闪烁的现象。我想,如果能够在标题栏上对MouseUp进行响应就好了。不知道有没有这样的方法呢?谢谢!

响应 WM_NCLBUTTONDOWN

呃 ,该是 WM_NCLBUTTONUP