首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

StringGrid控件相干 & F1-F12的快捷键设置

2013-01-08 
StringGrid控件相关 & F1-F12的快捷键设置1 StringGrid控件我想获得这样一个效果,我点了一个新建Button,St

StringGrid控件相关 & F1-F12的快捷键设置
1 StringGrid控件
我想获得这样一个效果,我点了一个新建Button,StringGrid就新增一行。
然后通过setFocus,使得新增行的行首获得焦点。
接下来就是我面临的问题:
    在一般情况下,我要想在某个cell里面输入数据,必须用鼠标点一下那个cell,才能进行输入。
    我想在这个时候,直接输入数据,而不需要通过任何的键盘和鼠标操作。
不知道这该如何实现。




2 如何设置F1-F12的快捷键
我对一个按钮设置一个n的快捷键的话,只要在他的Caption属性中,加上 &n  就行了。
但现在我想将这个快捷键设置为F1-F12中的某一个键。
该如何设置。
有人说:如果要设置F1,那么就是这样 F&1  ,但其实不行。 
有人说,必须得在键盘事件中设置,本人有点怀疑。
[解决办法]
2. 按钮设置Cation时添加&符号,只是设置加速键,操作时需要Alt + 对应&后面的字母作为快捷键。象F1~F12这样的热键,需要通过另外的方式来设置,一个比较简单的方法就是在Form的OnKeyDown事件中处理:

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if (Key == VK_F2);
        Button1->Click();
}

另外记的必须将Form的KeyPreview属性设为true
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    KeyPreview = true;
}

热点排行