在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;
}
相關文章
相關標籤/搜索