用了消息循环,但主窗体的菜单快捷键不起作用。如:F4、Ctrl+D等,该如何处理

用了消息循环,但主窗体的菜单快捷键不起作用。如:F4、Ctrl+D等
我用了消息循环,但主窗体(TfrmMain)的菜单快捷键不起作用。如:F4、Ctrl+D等,窗体上TAB键又能移动控件焦点,请高手帮忙解决,谢谢!

下面是项目文件的代码:

program Main;

uses
  Forms,
  Windows,
  UfrmMain in 'UfrmMain.pas' {frmMain};

var
  FMsg: TMSG;
  FMain: TfrmMain;

{$R *.res}

begin
{
  Application.Initialize;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
}

  fmain:=tfrmmain.Create(application);
  fmain.show;
  while GetMessage(FMsg, 0, 0, 0) do begin
    TranslateMessage(FMsg);
    DispatchMessage(FMsg);
  end;

end.
------解决方案--------------------
曾经记得光有消息循环还不够,好像还要注册快捷键。我很久以前用汇编写过一个窗体。。
------解决方案--------------------
RegisterHotKey(m_hWnd, ID_F4, 0, VK_F4);
RegisterHotKey(m_hWnd, ID_CTRL_D, MOD_CONTROL, 68); 'ctrl+D'

procedure WMHOTKEY(var AMsg: TMessage);message WM_HOTKEY;
var
  Pt: TPoint;
begin
  if AMsg.wParam = ID_F4 then
  begin

  end
  else if AMsg.wParam = ID_CTRL_D then
  begin

  end;
end;
------解决方案--------------------
嗯,好像是这样。。