你可以选择按钮,之后发送消息“vk_up;vk_down"等不过这个方法比较笨
水有好方法?

解决方案 »

  1.   

    PostMessage(Form1.Handle,WM_KEYDOWN,VK_???,0);
      

  2.   

    to wisenowa(无人喝彩) 能否解释一下这个PostMessage(Form1.Handle,WM_KEYDOWN,VK_???,0)的用途(发信息?)
    及各参数的意义?
      

  3.   

    是啊就是发消息的,sendmessage也可以
      

  4.   

    我的意思想在一个铵钮事件中去调用上面这个过程中的某一段代码,如想调用key=34的这段代码,我该如何调用且如何传参数。
      

  5.   

    试试这个:在这个铵钮事件中写FormKeyDown(sender,34,[]);
      

  6.   

    你的意图太明显拉,就是要做一个软件盘试吧,
    我的方法肯定可以
    按钮不是由是一个属性tag吗?
    你把你的按键程序放到一个函数里这个函数有一个参数,就是键盘间的Ascii值,
    那么你知道你该干什么了吗?
    就是加一个Action空间添加一个Action ,把所有的按钮选中添加他们的Action 为 action 空间
    Action 里面你只要把相应的按钮的Tag穿过去就可以拉,Tag你知道要存放什么东西吗?
    你的按钮代表A 就放A的Ascii,
    呵呵你搞定了吧,给分谢谢
      

  7.   

    错了!在这个铵钮事件中写:
    var key:word;
    begin
      key:=34;  
      FormKeyDown(sender,key,[]); 
    end
      

  8.   

    to xyc189(春雨)  你说那里错了,你的方法的问题太严重啦,我来更你讲讲
    如果做一个软件盘,100按钮,你不要写100次样的函数,那你起码输入了200多行程序
    而我只要输入2-3行,你怎么和我的方法比,还说我错啦,呵呵,你自己想想
      

  9.   

    PostMessage(Form1.Handle,WM_KEYDOWN,VK_???,0); 
    发送消息Form1.Handle,接受消息的句柄
    WM_KEYDOWN,消息的类型,在这里就是键被按下
    VK_???就是要按下那个键,很多地方都有,比如回车键VK_ENTER
    0,在这里写0就行了
      

  10.   

    to zsy_good(路漫漫其修远兮,吾将上下而求索) 误会!误会!我是说我上面的写错了,没说你的方法是错的,你太敏感了吧!你的方法用在按钮比较多的情况, 我的方法比较简单,按钮少时可以使用