有一个Panel,我需要在这个Panel上动态创建N个CheckBox,然后根据各个CheckBox的标题和键盘按下的键比较,如果那个CheckBox的标题和按下的键一致,那么它就被选中,怎么能实现?Panel不支持KeyPress事件,怎么实现啊?

解决方案 »

  1.   

    1.继承Panel类
    2.覆盖窗口函数,在窗口函数处理KeyPress时做你的需求!
      

  2.   

    把Form的KeyPreview:=True
    写在Form的OnKeyDown中
      

  3.   

    建议您用CheckListBox控件来做。在Additional面板上,它支持KeyPress事件,动态创建N个类似CheckBox也非常方便(只需要用一句CheckListBox1.Items.Add('添加一项')即可动态添加),更方便的是它可以自动调整间距。
      

  4.   

    1.继承Panel类 
    2.覆盖窗口函数,在窗口函数处理KeyPress时做你的需求!