Ivan Prodanov
Ivan Prodanov

Reputation: 35502

Why doesn't my form's OnKeyDown event handler fire?

I'm using Delphi 2009 and I followed a tutorial at delphi.about.com, but I couldn't set it.

I created an event OnKeyPress/OnkeyDown and set a breakpoint to see if the event is called, but it's not being called in any way.

Where is the problem?

EDIT:

procedure TFormMain.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Beep; //breakpoint is set here.
end;

Upvotes: 5

Views: 8828

Answers (1)

jpfollenius
jpfollenius

Reputation: 16612

You might try to set

Form1.KeyPreview := True;

Maybe the event is not properly delegated up to the form.

EDIT: after looking at the link I guess you probably have done that since it is mentioned in the article. Maybe you forgot that line?

Upvotes: 28

Related Questions