如题,我用VC做了个小键盘,从上面输入1到9这几个数字,然后还有删除,是仿照别人做的。然后还有两个键不知道怎么做,就是把光标左移和右移,别人没写那部分代码。应该怎么处理那两个消息啊?

解决方案 »

  1.   

    移动光标
    CPoint pt;
    GetCursorPos(&pt);
    pt.x += ... //更新pt.x或者pt.y坐标值
    或者
    pt.y += ...;
    SetCursorPos(pt.x, pt.y);
      

  2.   


    呵呵,没有这么复杂饿,不用计算点的坐标的,我把图上传上来,其他的键都处理好了,就是左移和右移的光标我不知道怎么处理,例如0键里面的代码就是
    void DialogKeybd::OnButton13() 
    {
    // TODO: Add your control notification handler code here
    m_KeybData=m_KeybData+"0";
    UpdateData(FALSE);
    }
    这个对话框也有问题,里面就几个按钮,我想把名字改成IDC_BUTTON1,却弹出个A control with this ID already exists.Enter a unique control ID.郁闷死了,明明就只有几按钮,都没有用这个名字,以前也出现过这样的问题,
      

  3.   

    啥叫小键盘?用SendInput就能做软键盘了,什么键都能模拟,光标移动不就是VK_LEFT和VK_RIGHT么。
      

  4.   

    按照软键盘的做法,用SendInput就行了,简单快捷。
    不过就是你的按钮自身不能获取焦点才行。
      

  5.   

    输入的位置应该是edit吧
    setsel();即可啊
      

  6.   

    新手飘过,表示更新的时候用GetDlgItem(ID)->SetWindowText("");//更新数据
    使用UpdateData(FALSE);你2个编辑框都在更新。
      

  7.   

    我晕倒啊,说的越来越复杂了,那个功能我都做好了,点击鼠标就会在在Edit里显示点的数字,我现在有两个键,一个是<-,一个是->,他们的功能是点一下,输入的光标就向前移动一个位置,就可以插入一个数字了。可能是我表达不清楚吧,跟小键盘没什么关系,越来越不懂了。