将listctrl的shift多选 用Ctrl实现

coffee_machine 2010-12-17 01:56:08
shift + vk_up/vk_down可以实现clistctrl的多选
我如何用ctrl + vk_up/vk_down来实现这个功能呢?
我想在ctrl + vk_up/vk_down键中向clistctrl
发送shift + vk_up/vk_down消息,不知道能不能实现?

请大家指点一下
...全文
191 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzizongheng 2010-12-20
  • 打赏
  • 举报
回复
把CListCtrl的Single Selection属性置为FALSE, 就原生支持shift和ctrl了。

动态的话就是去掉LVS_SINGLESEL属性。
向立天 2010-12-18
  • 打赏
  • 举报
回复
没有必要模拟键盘消息
你直接通过SetItemState设置选中状态不就可以了
coffee_machine 2010-12-17
  • 打赏
  • 举报
回复
if( (pMsg->wParam == VK_UP && GetKeyState(VK_CONTROL)&0x80) ||
(pMsg->wParam == VK_DOWN && GetKeyState(VK_CONTROL)&0x80))
{
keybd_event( VK_DOWN,0,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0);
keybd_event(VK_SHIFT,0,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0);
}

这样也没有效果

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧