子对话框CTestDlg属性 :
Style改为Chlid
Border改为None
在主对话框OnInitDialog函数中添加代码:
CTestDlg testdlg;
testdlg.Create(IDD_DIALOG_TEST);
CRect rc;
GetWindowRect(&rc);
rc.top += 23;
rc.bottom -= 8;
rc.left += 7;
rc.right -= 7;
testdlg.MoveWindow(&rc);
testdlg.ShowWindow(SW_SHOW);
没必要玩神马钩子
线程+FindWindow就ok了,给你写个例子对话框跟着windows计算器移动
妥妥滴
贴在边上,内部还是外侧?
如果是内部的话用SetParent,将对话框窗口设置为子窗口。
如果是贴在外侧,需要处理那个窗口的WM_MOVING或WM_MOVE消息,就是主窗口移动时更新对话框的位置。