最近,在一个多文档视图结构里面做界面,把标题栏,菜单栏,工具栏隐藏了,然后用对话框代替,在对话框里放置所需界面,对话框用CDialogBar派生类实现。其中关于窗口移动的问题,试了好几种方法,比如,在对话框的OnMove,OnMoving消息响应中发送消息到主框架窗口,都不能满足移动窗口要求,要么某个方向移动艰难,要不拖动时留着背影残留,最后,查找了资料,找到了一个比较好的方法,于是解决了该问题。WM_SYSCOMMAND消息请参见MSDN文档。
void CDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if(this->GetParent())
{
::PostMessage(this->GetParent()->m_hWnd,WM_SYSCOMMAND, SC_MOVE|0x0002,0);
}
CDialogBar::OnLButtonDown(nFlags, point);
}