[英]How do i move parent dialog when dragging child dialog, in MFC?
真的需要一些幫助如何在拖動子對話框時移動父對話框?
我有它,所以當我拖動父對話框時,子對話框也被移動,但不是反向關系。
任何幫助將不勝感激,謝謝!
我的主要對話框:
void MainDialog::OnMove(int x, int y)
{
CDialog::OnMove(x, y);
m_pDialog->SetWindowPos(&wndTop, x, y, 50, 50, SWP_NOZORDER); // child dialog
}
BEGIN_MESSAGE_MAP(CTranslucentDialog, CDialog)
//AFX_MSG_MAP
ON_WM_ERASEBKGND()
ON_WM_MOVE()
ON_WM_SIZE()
ON_WM_CREATE()
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
謝謝,我能夠通過為NCHITTEST創建處理程序並返回HTTRANSPARENT來使其工作。
LRESULT CGadgetStandardDialog::OnNcHitTest(CPoint point)
{
return HTTRANSPARENT;
}
問題是孩子消耗了鼠標輸入。 因此,單擊子窗口並在那里拖動,通常會在子窗口中選擇一些數據(在編輯控件中)。 或者對於靜態控件,鼠標輸入將轉發給父級。
那么你。 需要決定...你總是有能力在WM_NCHITTEST中處理它並返回HTCAPTION,或者你允許父進程在重新調整HTTRANSPARENT時處理它。
順便說一句:如果你想在客戶區使用鼠標移動窗口,那么只需處理WM_NCHITTEST並返回HTCAPTION。 沒有必要實現鼠標移動處理程序並自己完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.