Delphi 调用FormKeyDown事件解决思路

Delphi 调用FormKeyDown事件
怎么调用
FormKeyDown(Sender,kye,TShiftState);
这三个属性具体讲的是什么
出发的对象,是Form吗?
kye 我知道是F2
Tshiftstate是什么
  怎么在别的事件里面调用这个事件。

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key=Vk_F2 then
 begin
    with DataModule3.qry1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('select top 1 奖项名称,奖品名称,奖品数量,抽取数量,一次抽取 from 奖品设置 where 是否=0;');
          Open;
        end;

        if  DataModule3.qry1.RecordCount>0 then
        begin
           lbl2.Caption:=DataModule3.qry1.FieldValues['奖项名称'];
           lbl3.Caption:=DataModule3.qry1.FieldValues['奖品名称'];
           lbl4.Caption:='中奖名额:'+IntToStr(DataModule3.qry1.FieldValues['奖品数量']);
           lbl5.Caption:='已抽取数量:'+IntToStr(DataModule3.qry1.FieldValues['抽取数量']);
           lbl6.Caption:='一次抽取:'+IntToStr(DataModule3.qry1.FieldValues['一次抽取']);
           intdata:=IntToStr(DataModule3.qry1.FieldValues['抽取数量']);
           intdatai:=IntToStr(DataModule3.qry1.FieldValues['一次抽取']);
           lbl2.Visible:=True;
           lbl3.Visible:=True;
           lbl4.Visible:=True;
           lbl5.Visible:=True;
           lbl6.Visible:=True;
        end;
 end;
end;

------解决方案--------------------
sender值触发事件的对象
key就是按键值
Tshiftstate是一些特殊键  set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble) 
------解决方案--------------------
自己ctrl+鼠标左键点击TShiftState,你就能看到TShiftState的源码,看到它是如何声明的

// TShiftState 是一个set 集合类型,它包含下面这些值,顾名思义就知道这些值表示啥
TShiftState = set of (ssShift, ssAlt, ssCtrl,
    ssLeft, ssRight, ssMiddle, ssDouble);

事件是没有调用一说的,就这个FormKeyDown来说,它是一个用来处理 KeyDown 这个消息的回调函数,
你可以直接调用这个函数,但这样它跟 KeyDown 消息没有关系