如何实现让windows把子窗口当成父窗口的标题那样 如何实现子窗口中按下鼠标移动,就和按下父窗口标题一样让整个父窗口移动 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是如何欺骗windows 让它认为子窗口是父窗口的标题 在OnMove消息里通过MoveWindow移动父窗口 鼠标拖动子窗口时候给父窗口发送消息SendMessage,父窗口句柄,WM_NCLBUTTDOWN,HTCAPTION,NULL 谢谢 已经实现了不过是放在OnMoving里,因为父窗口也调用MoveWindow调整子窗口的位置过,MoveWindow的时候回触发消息OnMove无法实现应该是在子窗口的OnNcLButtonDown里发送SendMessage,父窗口句柄,WM_NCLBUTTDOWN,HTCAPTION,NULL这个消息吧但是鼠标移动的时候发送什么消息给父窗口通知他移动位置呢 刚才有试了一下当子窗口是Child 类型时和标题还是有差距的 :子窗口的移动范围太窄了,而父窗口标题可以到处移动 http://download.csdn.net/detail/korekara88730/3699848LZ要的是这个效果么 实现ON_WM_NCHITTEST()这个消息LRESULT CDriverUpdatesDlg::OnNcHitTest(CPoint point){ CPoint tempPoint(point); CRect topRect; ScreenToClient(&tempPoint); GetClientRect(&topRect); //这里+30表示 窗口上30的高度 topRect.bottom = topRect.top + 30; if (topRect.PtInRect(tempPoint)) { return HTCAPTION; } return CDialog::OnNcHitTest(point);}代码如上 处理子窗口的WM_LBUTTONDOWN这个事件里,给父窗口发送消息SendMessage(hWinMain,WM_NCBUTTONDOW,HTCAPTION,0)我用汇编作的,WIN32 SDK,MFC不会用.elseif eax==WM_LBUTTONDOWN && ecx==hWinSub invoke SendMessage,hWinMain,WM_NCLBUTTONDOWN,HTCAPTION,0 不是在子窗口的 WM_NCLBUTTONDOWN,是在子窗口的 WM_LBUTTONDOWN ,给父窗口发送 消息你给父窗口发送WM_NCLBUTTONDOWN ,相当于欺骗WINDOWS,说你点的时 父窗口的标题,至于坐标和移动的细节,LZ不必理会,WINDOWS给你做好了 非常感谢korekara88730 效果已经实现 感觉现在论坛查个资料太难了 CBCGPPropList中slider控件的问题 VC中用CP2102中USB转串口后通信时出错? CDHtmlDialog窗口的句柄,高手来侃侃 MFC 下使用 wein32 timer 问题 拖动父对话框,子对话框不动 串口数据采集问题 vc++ classwizzard problem 大家好,我才看vc大家帮我看看这是什么意思呀. 寻VC比较厉害的人物,交个朋友,互相切磋。 分割窗口无法响应消息,怎么处理? 鼠标移动动态显示坐标
给父窗口发送消息SendMessage,父窗口句柄,WM_NCLBUTTDOWN,HTCAPTION,NULL
谢谢 已经实现了不过是放在OnMoving里,因为父窗口也调用MoveWindow调整子窗口的位置过,MoveWindow的时候回触发消息OnMove无法实现应该是在子窗口的OnNcLButtonDown里发送SendMessage,父窗口句柄,WM_NCLBUTTDOWN,HTCAPTION,NULL这个消息吧
但是鼠标移动的时候发送什么消息给父窗口通知他移动位置呢
刚才有试了一下
当子窗口是Child 类型时和标题还是有差距的 :子窗口的移动范围太窄了,而父窗口标题可以到处移动
LZ要的是这个效果么
{
CPoint tempPoint(point);
CRect topRect;
ScreenToClient(&tempPoint);
GetClientRect(&topRect);
//这里+30表示 窗口上30的高度
topRect.bottom = topRect.top + 30;
if (topRect.PtInRect(tempPoint))
{
return HTCAPTION;
} return CDialog::OnNcHitTest(point);
}
代码如上
处理子窗口的WM_LBUTTONDOWN
这个事件里,给父窗口发送消息
SendMessage(hWinMain,WM_NCBUTTONDOW,HTCAPTION,0)我用汇编作的,WIN32 SDK,MFC不会用
.elseif eax==WM_LBUTTONDOWN && ecx==hWinSub
invoke SendMessage,hWinMain,WM_NCLBUTTONDOWN,HTCAPTION,0
不是在子窗口的 WM_NCLBUTTONDOWN,
是在子窗口的 WM_LBUTTONDOWN ,给父窗口发送 消息你给父窗口发送WM_NCLBUTTONDOWN ,相当于欺骗WINDOWS,说你点的时 父窗口的标题,
至于坐标和移动的细节,LZ不必理会,WINDOWS给你做好了