Drag问题 我的对话框有一组按钮,我想在程序运行时通过拖拽实现按钮位置的改变,如何处理?(如果只是按下按钮,需要执行对应的操作) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 捕捉鼠标的移动消息,判断它是否在按钮的范围内,用SetWindowPos()函数来重新设置位置 避免干扰正常的按钮单击消息,可以:在按钮类的OnMouseMove中,判断时候鼠标左键按下了。SHORT GetAsyncKeyState( int vKey // virtual-key code); 参数为VK_LBUTTON。或者判断OnMouseMove函数的参数nFlag是否为MK_LBUTTON。 重载按钮类CMyButton : public CButton在CMyButton中响应鼠标左键按下消息,记录下按下标志在CMyButton中响应鼠标移动消息,如果按下标志为true则表示用户移动按钮然后发消息给父窗口,父窗口处理消息(也可以啥都不做,或者改变鼠标指针形状),在鼠标弹起后,父窗口就调用m_myButton.MoveWindow(&rect);来移动按钮我没有实际的试,不知道实际行不行。楼主试试看吧 to flyelf(空谷清音) ,移动按钮用MoveWindow.在OnMouseMove中判断是否左键按下,如果按下,则用MoveWindow移动按钮。或者给按钮发送一个WM_NCHITTEXT消息,参数为HTCAPTION.具体察看msdn. 64位windows7下获取进程模块失败 继承自CEdit的类,如何处理消息 知道我为啥要发一些帖子么? 它是怎样连上摄像头的? CListCtrl中Icon风格时,怎样去掉label矩形域 如何为列表控件添加列 怎么去掉imagelist背景色 如何检测内存泄漏? ADO的记录集打开一个dbf文件,记录集关闭时,不能关闭,请问是什么原因? 工具栏使用自画的24位BMP图该如何做? 动画闪烁的问题 谁有<<深入浅出MFC>>和<<windows核心编程>>,给我个中文的电子版的,最好是免费的(给分)
SHORT GetAsyncKeyState(
int vKey // virtual-key code
);
参数为VK_LBUTTON。或者判断OnMouseMove函数的参数nFlag是否为MK_LBUTTON。
在CMyButton中响应鼠标左键按下消息,记录下按下标志
在CMyButton中响应鼠标移动消息,如果按下标志为true则表示用户移动按钮
然后发消息给父窗口,父窗口处理消息(也可以啥都不做,或者改变鼠标指针形状),
在鼠标弹起后,父窗口就调用m_myButton.MoveWindow(&rect);来移动按钮
我没有实际的试,不知道实际行不行。楼主试试看吧