客户区上的控件或者窗口 怎么做成可以拖动的 就是界面上的对象,可以用鼠标可以拖动,并且可以右键什么的。该怎么做?像BUTTON这种控件 ,是不可以拖动的。怎样做成可以拖动的?自己写个响应函数就可以了?还是得做自定义控件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如:(手写的代码)从CButton 继承一个自定义类CMyButton在类中添加消息响应 WM_MouseMove{ if(nflags == wk_button)//如果左键点击未松开 { movewindow(...);//这个地方的坐标你得自己重新计算一下 不是直接用point.x point.y } //要计算按钮左上角 和 鼠标点击 的偏移量}自己的思路 希望对你有帮助 嘿嘿 /****************************************************************************添加虚函数PreTranslateMessagevs2008 下测试通过****************************************************************************/BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message==WM_LBUTTONDOWN) { TCHAR ClassName[200]; ::GetClassName(pMsg->hwnd,ClassName,sizeof(ClassName)/sizeof(TCHAR)); trace(ClassName); if (_tcscmp(ClassName,_T("Button"))==0) { ::SendMessage(pMsg->hwnd,WM_NCLBUTTONDOWN, HTCAPTION,NULL); return 1; } } return CDialog::PreTranslateMessage(pMsg);} 重写CButton类,处理WM_LBUTTONDOWN,WM_LBUTTONUP和WM_MOUSEMOVE消息也可以,利用MoveWindow/SetWindowPos()来调整Button控件的位置区域 ModifyStyle 设置问题 关于数值段相交的算法 自绘的CSplitterWnd中重写RecalcLayout有什么用? 如何解决隐藏托盘图标后的空白? 求教网络游戏盗号器的原理(急!!!) 一段超简单但费解的代码,摘自msdn!! 问题,高手-在线等 error LNK2001: unresolved external symbol:这样的错误怎么解决?帮小弟一下.在线等待!! VC怎么自定义协议或者数据包发送数据 游戏编程高手请进:怎样提高图象淡入淡出效果。 main创建1个线程,这两个线程会分别运行在两个cpu上吗? 我是双核 如何读写并录制播放 *.wav 文件?
从CButton 继承一个自定义类CMyButton在类中添加消息响应 WM_MouseMove{
if(nflags == wk_button)//如果左键点击未松开
{
movewindow(...);//这个地方的坐标你得自己重新计算一下 不是直接用point.x point.y
} //要计算按钮左上角 和 鼠标点击 的偏移量
}自己的思路 希望对你有帮助 嘿嘿
添加虚函数PreTranslateMessage
vs2008 下测试通过
****************************************************************************/
BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_LBUTTONDOWN)
{
TCHAR ClassName[200];
::GetClassName(pMsg->hwnd,ClassName,sizeof(ClassName)/sizeof(TCHAR));
trace(ClassName);
if (_tcscmp(ClassName,_T("Button"))==0)
{
::SendMessage(pMsg->hwnd,WM_NCLBUTTONDOWN, HTCAPTION,NULL); return 1;
} }
return CDialog::PreTranslateMessage(pMsg);
}