/***********************************************************
*说明: 在VC++6.0中移动无标题栏的窗口
*备注:测试代码的对话框程序的工程名为:MoveNoTitle
*原理:在OnLButtonDown事件中发送WM_SYSCOMMAND消息
或者在OnNcHitTest事件中返回HTCAPTION
*作者:袁培荣 yuanpeirong@vip.qq.com
*修改时间:2011年09月26日
***********************************************************/
//第一和第二种方法:
void CMoveNoTitleDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//::SendMessage(GetSafeHwnd(),WM_SYSCOMMAND,SC_MOVE + HTCAPTION,0);//方法一
//PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));//方法二
CDialog::OnLButtonDown(nFlags, point);
}
//第三种方法:
UINT CMoveNoTitleDlg::OnNcHitTest(CPoint point)
{
//截获鼠标事件
UINT nHitTest = CDialog::OnNcHitTest(point);
// 判断是否在拖动客户区,如果是则发送拖动标题栏的消息
return (nHitTest == HTCLIENT)? HTCAPTION : nHitTest;
}