如何让创建的按扭能够拖动呢? 响应按钮的WM_NCHITTEST消息,返回HTCAPTION。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单一点的话,可以这么处理,这样你只要在窗口按下鼠标左键并拖动就行了case WM_LBUTTONDOWN: //如果需要拖动 if(needDrag) { SendMessage(hWndGroupBox, WM_SYSCOMMAND,SC_MOVE+1,0); ::InvalidateRect(hWndGroupBox, NULL, TRUE); ::InvalidateRect(hWnd, NULL, TRUE); } break; case WM_LBUTTONDOWN: //如果需要拖动 if(needDrag) { SendMessage(hWndGroupBox, WM_SYSCOMMAND,SC_MOVE+1,0); ::InvalidateRect(hWndGroupBox, NULL, TRUE);//A ::InvalidateRect(hWnd, NULL, TRUE); //B } break能否解释为何两次使用InvalidateRect(。。);谢谢! case WM_NCHITTEST:{ if(hWnd==hWndGroupBox) { return HTCAPTION; }}break; 是个long型值,返回HTCAPTION 告诉winodws(“欺骗它”)光标的热点位置在标题栏,这样就能移动你的窗口了(控件也是个窗口),就相当于我们在标题栏拖动鼠标时产生的效果... DLL和主程序采用虚函数方式通信接口问题 怎么设置弹出窗口位置? outlook风格的对话框 采集卡采集程序求助 我要调用别人的一个组件,只有dll文件,该怎么定义 Sql2000 哪个好 java或c++不知應選擇哪一種? SHBrowseForFolder 键盘钩子怎么没用 线程的handle和threadid 为何没调用ShowWindow(...),UpdateWindow(...);却可以显示窗口 我的组框没有响应?
case WM_LBUTTONDOWN:
//如果需要拖动
if(needDrag)
{
SendMessage(hWndGroupBox, WM_SYSCOMMAND,SC_MOVE+1,0);
::InvalidateRect(hWndGroupBox, NULL, TRUE);
::InvalidateRect(hWnd, NULL, TRUE);
}
break;
//如果需要拖动
if(needDrag)
{
SendMessage(hWndGroupBox, WM_SYSCOMMAND,SC_MOVE+1,0);
::InvalidateRect(hWndGroupBox, NULL, TRUE);//A
::InvalidateRect(hWnd, NULL, TRUE); //B
}
break
能否解释为何两次使用InvalidateRect(。。);
谢谢!
{
if(hWnd==hWndGroupBox)
{
return HTCAPTION;
}
}
break;