那就换两个问题吧:如何按键盘上ESC的时候触发form.onclosequery的事件?在此事件我写了个是否退出的代码;如何在光标移在dbcombobox中时,按键盘上那个向下(小键盘里)的箭头就会自动下拉出picklist,并可用箭头选择,回车确定? 

解决方案 »

  1.   

    首先将Form的KeyPreview属性为TRUE;
    在FORM的ONKEYDOWN事件中加代码
    IF BYTE(KEY)=27 THEN CLOSE;
    在FORM的onclosequery的事件中加代码
      If Application.MessageBox('是否要关闭程序?','提示',MB_YesNo + MB_ICONQUESTION) <> IDYES Then
      CanClose := False;
      

  2.   

    那么还有:如何在光标移在dbcombobox中时,按键盘上那个向下(小键盘里)的箭头就会自动下拉出picklist,并可用箭头选择,回车确定?请问哪里有键盘上各键的代号的说明,就象刚才ESC是27,而其它的又是多少呢? 
      

  3.   

    虽然说speedbutton不能接受光标,但我想对只能一个speedbutton的对话框来说,还是可能用截获回车键的法子来实现这个speedbutton的功能的啊,请问如何写代码,即当回车时执行某一按纽的功能。
      

  4.   

    我也试过了,问题一样。建议别用speedbutton了
      

  5.   

    如何在光标移在dbcombobox中时,按键盘上那个向下(小键盘里)的箭头就会自动下拉出picklist,并可用箭头选择,回车确定?请问哪里有键盘上各键的代号的说明,就象刚才ESC是27,而其它的又是多少呢? 
      

  6.   

    用TBitBtn代替TSpeedButton,除了Flat之外,外观跟TSpeedButton一样,其实也可以做成Flat的样子,只是你需要派生一下。
    将TBitBtn的Default属性设成True,你在Form上按回车就相当于按它(除了焦点在其它按钮上)。同样,Cancel属性设成True时,按Esc相当于按它。如果你一定要用TSpeedButton,还有个办法:将它与某个TAction对象连起来,把Action对象的ShortCut设成需要的热键(如Enter或Esc),也能达到效果。
      

  7.   

    哦,这个我已经不管了。现在想知道如何在光标移在dbcombobox中时,按键盘上那个向下(小键盘里)的箭头就会自动下拉出picklist,并可用箭头选择,回车确定?