我觉得你可以在KeyDown事件中截获,
case Key of
  VK_F1:
  VK_F2:
  VK_F3:
end;

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      KeyPreview := True; //可以直接设置
    end;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      case Key of
        VK_F1: { F1要处理的代码 };
        VK_F2: { F2要处理的代码 };
        VK_F3: { F3要处理的代码 };
      end;
    end;
      

  2.   

    F1:#112
    F2:#113
    F3:#114;
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #112 then
      begin
      ...
      end else
      if Key = #113 then
      begin
      ...
      end else
      if Key = #114 then
      begin
      ...
      end;
    end;
      

  3.   

    要了解每个键的key值,都可以在keydown中调用showmessage(inttostr(key))来得到。
      

  4.   

    to ihihonline(小小):你测试测试按Fn有反映吗?
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      Caption := IntToStr(Ord(Key));
    end;
    只看见 小小 从 F1 按到 F12 又从 F12 按到 F1
    小小说:“有!”
    大家问:“什么?”
    小小答:“没有变化的一种反映!”
    (......全体倒地......)
      

  5.   

    delphi 的头文件中有 ...
      

  6.   

    (Name:'F1';              VKey:VK_F1),
       (Name:'F10';             VKey:VK_F10),
       (Name:'F11';             VKey:VK_F11),
       (Name:'F12';             VKey:VK_F12),
       (Name:'F13';             VKey:VK_F13),
       (Name:'F14';             VKey:VK_F14),
       (Name:'F15';             VKey:VK_F15),
       (Name:'F16';             VKey:VK_F16),
       (Name:'F2';              VKey:VK_F2),
       (Name:'F3';              VKey:VK_F3),
       (Name:'F4';              VKey:VK_F4),
       (Name:'F5';              VKey:VK_F5),
       (Name:'F6';              VKey:VK_F6),
       (Name:'F7';              VKey:VK_F7),
       (Name:'F8';              VKey:VK_F8),
       (Name:'F9';              VKey:VK_F9),
      

  7.   

    (Name:'F1';              VKey:VK_F1),
       (Name:'F10';             VKey:VK_F10),
       (Name:'F11';             VKey:VK_F11),
       (Name:'F12';             VKey:VK_F12),
       (Name:'F13';             VKey:VK_F13),
       (Name:'F14';             VKey:VK_F14),
       (Name:'F15';             VKey:VK_F15),
       (Name:'F16';             VKey:VK_F16),
       (Name:'F2';              VKey:VK_F2),
       (Name:'F3';              VKey:VK_F3),
       (Name:'F4';              VKey:VK_F4),
       (Name:'F5';              VKey:VK_F5),
       (Name:'F6';              VKey:VK_F6),
       (Name:'F7';              VKey:VK_F7),
       (Name:'F8';              VKey:VK_F8),
       (Name:'F9';              VKey:VK_F9),
      

  8.   

    (Name:'F1';              VKey:VK_F1),
       (Name:'F10';             VKey:VK_F10),
       (Name:'F11';             VKey:VK_F11),
       (Name:'F12';             VKey:VK_F12),
       (Name:'F13';             VKey:VK_F13),
       (Name:'F14';             VKey:VK_F14),
       (Name:'F15';             VKey:VK_F15),
       (Name:'F16';             VKey:VK_F16),
       (Name:'F2';              VKey:VK_F2),
       (Name:'F3';              VKey:VK_F3),
       (Name:'F4';              VKey:VK_F4),
       (Name:'F5';              VKey:VK_F5),
       (Name:'F6';              VKey:VK_F6),
       (Name:'F7';              VKey:VK_F7),
       (Name:'F8';              VKey:VK_F8),
       (Name:'F9';              VKey:VK_F9),
      

  9.   

    同意: zswang(伴水)(* pascal→c *)  ihihonline(小小) 你可真得很厉害,在KeyPress中竟能捕获功能键,呵呵,佩服佩服。
     ihihonline(小小) 你最好试试再讲话。zswang(伴水)(* pascal→c *) 的是最正确的。
    楼主太懒。
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      showmessage(inttostr(key));
    end;不就全看到了么
      

  10.   

    OnKeyPress事件只能得到ASCII码,有些按键就丢了(相当于WM_CHAR消息).
    你应该用OnKeyDown事件这时可以得到Windows的"虚键码":
    VK_F1,VK_F2等,其它"虚键码"可查阅MSDN
      

  11.   

    同意: zswang(伴水)(* pascal→c *)  ihihonline(小小) 你可真得很厉害,在KeyPress中竟能捕获功能键,呵呵,佩服佩服。
     ihihonline(小小) 你最好试试再讲话。zswang(伴水)(* pascal→c *) 的是最正确的。
    楼主太懒。
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      showmessage(inttostr(key));
    end;不就全看到了么
      

  12.   

    比chechy多敲了几个字符,所以慢了一秒钟 55555555555...........当然这种处理方法不算很妥当
    使用TActionList(动作列表)扩充性要好得多什么辩解都比不上自己实践一下
    <...本剧终...>