在2个CEdit之间用鼠标拖放来复制内容,触发的好象不是WM_COPY、WM_PASTE和WM_DROPFILES消息,那是什么消息? 我的程序里有一个CListCtrl,CListCtrl的每列有一个CEdit,当鼠标点击某行时,这列的
CEdit上下移动到这个单元格,所以可以编辑CListCtrl的单元格。
现在要禁用在2个CEdit之间用鼠标拖放来复制内容,请问怎么做?我想过滤拖放消息,但不知道是什么消息?好象不是WM_COPY、WM_PASTE和WM_DROPFILES。 因为我这样做(代码如下)照样能拖动鼠标时在单元格间拷贝数据,不过CTRL+C CTRL+V能够过滤掉。
这就说明了拖动鼠标时在单元格间拷贝数据不是触发的WM_COPY、WM_PASTE消息。
我怀疑也不是触发的WM_DROPFILES。因为这种拖放是不出现拖放的虚框图形的,但在资源管理器里拖放东西时会出现拖放的虚框图形。况且下面的代码也没有禁止拖动鼠标时在单元格间拷贝数据。
代码如下:
LRESULT CListCellEdit::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_COPY) // 能过滤掉CTRL+C 操作
{
return FALSE;
}
if(message == WM_PASTE) // 能过滤掉 CTRL+V操作 {
return FALSE;
}
if(message == WM_DROPFILES)// 不能禁止拖动鼠标时在单元格间拷贝数据
{
return FALSE;
}
return CEdit::WindowProc(message, wParam, lParam);
}大家可以参考帖子:
http://community.csdn.net/Expert/topic/4588/4588744.xml?temp=.8014643
CEdit上下移动到这个单元格,所以可以编辑CListCtrl的单元格。
现在要禁用在2个CEdit之间用鼠标拖放来复制内容,请问怎么做?我想过滤拖放消息,但不知道是什么消息?好象不是WM_COPY、WM_PASTE和WM_DROPFILES。 因为我这样做(代码如下)照样能拖动鼠标时在单元格间拷贝数据,不过CTRL+C CTRL+V能够过滤掉。
这就说明了拖动鼠标时在单元格间拷贝数据不是触发的WM_COPY、WM_PASTE消息。
我怀疑也不是触发的WM_DROPFILES。因为这种拖放是不出现拖放的虚框图形的,但在资源管理器里拖放东西时会出现拖放的虚框图形。况且下面的代码也没有禁止拖动鼠标时在单元格间拷贝数据。
代码如下:
LRESULT CListCellEdit::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_COPY) // 能过滤掉CTRL+C 操作
{
return FALSE;
}
if(message == WM_PASTE) // 能过滤掉 CTRL+V操作 {
return FALSE;
}
if(message == WM_DROPFILES)// 不能禁止拖动鼠标时在单元格间拷贝数据
{
return FALSE;
}
return CEdit::WindowProc(message, wParam, lParam);
}大家可以参考帖子:
http://community.csdn.net/Expert/topic/4588/4588744.xml?temp=.8014643
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货