MFC的对话框中如何对一些按钮 COMBOX等设置快捷键呢,
我的listbox目前是单选的情况,设置什么属性可以改为多选呢,多选的要求是按住ctrl多选,按shift则一次从上到下选很多,如何实现这些功能呢?各位请指教

解决方案 »

  1.   

    我的listbox目前是单选的情况,设置什么属性可以改为多选呢,多选的要求是按住ctrl多选,按shift则一次从上到下选很多,如何实现这些功能呢?selection属性框中选选择Extended就OK了
      

  2.   

    MFC的对话框中如何对一些按钮 COMBOX等设置快捷键呢,
    按钮的快捷方式,可以在按钮控件的属性中的Caption 中的标题后面加(&X) 其中X就是快捷键了。例如,取消(&C)
      

  3.   

    listbox的属性 selection 选项中选择 Multiple 就可以了为按钮设置快捷键,在按钮的 Caption 属性里填入 Button1(&A) ,这样在按钮上就会显示Button(下划线A) ,运行后按 Ctrl+A就点击了按钮
      

  4.   

    设置为MULTIPLE楼主的输球都可以满足了
      

  5.   

    我用的编译器是2008,
    在按钮的 Caption 属性里填入 Button1(&A) ,这样在按钮上就会显示Button(下划线A) ,运行后按 Ctrl+A就点击了按钮有没什么方法只按a键就可以,不用+ctrl?如果我的快捷键是shift+a,又应该如何处理shift这个响应呢?如果我需要响应某些按键,比如+ -俩个号,用来对5个按钮进行从左到右,从右到左这样的操作,应该如何做呢?刚接触MFC,各位多多帮忙,谢谢了^_^
      

  6.   

    BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
    {    if(pMsg->message==WM_KEYDOWN) //判断是否有按键按下
         {
           switch(pMsg->wParam)
           {
              case VK_DOWN:     //表示是方向键中的向下的键             //add handle code here          break;          case VK_UP:      //表示是方向键中的向上的键               //add handle code here          break;          default:          break;       }}}可以使用PreTranslateMessage拦截键盘消息,然后进行处理。
      

  7.   

    如果不用Ctrl的话,就必须重载WM_KEYDOWN按键信息,象楼上的一样也可以通过RegisterHotKey注册热键实现
      

  8.   

    我现在做的+ - 号的处理就是::PreTranslateMessage
    我记得以前好像有个是修改ctrl+a 中的ctrl的设置,不过现在正在做的+ -  快捷键处理中,5个控件为radio-button,遇到的问题是这样 我用鼠标点击radio-button上面会有个虚线的小框框,同时按钮会变,  我在PreTranslateMessage用快捷键控制的时候,如果前一个按钮用鼠标按下的,现在按+ 选中下一个radio-button的时候,下一个按钮会变,但是前一个用鼠标点的小框框依然存在,正确的情况应该是上一个的虚线小框框消失,下一个按钮应该有小框框。
    快捷键直接调用的on... 响应函数。这个虚线小框框的问题不知道如何解决呢?
      

  9.   

    这个MFC中还有很多问题要问大家,等会解决这个问题,我重新开贴加分^_^
      

  10.   

    虚线小框框的问题,没找到相关的函数,
    我们使用tab选择控件的时候也会出现这种虚线小框框表示当前的控件,用什么函数控制这个虚线小框框的出现呢?
    另外,控件button是否能和combox那样,在按一下后能出现按下效果,等下一次在按还原的效果呢?
      

  11.   

    虚线小框框 可以用 SetFocus函数来设置。
      

  12.   

    SetFocus设置了焦点,就有那个虚线小框框了