在VC++6.0中移动无标题栏的窗口

/***********************************************************
*说明: 在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;
}
相关文章
相关标签/搜索