Question and Answer Database FAQ2365C.txt Arrow keys handler Category :VCL Platform :All Product :C++Builder 3.x Question: I need to intercept the arrow keys like VK_RIGHT. FormKeyPress() gets called on F1,Crtl,Alt,PgUp, but never called on the arrow keys. Answer: You need to handle that at the application level. A handler for Application->OnMessage will do it. Here's an example for VK_UP and VK_DOWN, I'm sure you can extrapolate. Be sure an put the prototype for void __fastcall TFrmArrows::AppMessage(TMsg& AMessage, bool& Handled) in the Form's class declaration in the header file: void __fastcall TFrmArrows::AppMessage(TMsg& AMessage, bool& Handled) { if (AMessage.message == WM_KEYDOWN) if ((AMessage.wParam == VK_UP) || (AMessage.wParam == VK_DOWN)) { SelectNext(ActiveControl, (AMessage.wParam == VK_DOWN), true); Handled = true; } } void __fastcall TFrmArrows::FormCreate(TObject *Sender) { Application->OnMessage = AppMessage; } //--------------------------------------------------------------------------- 7/2/98 10:32:32 AM
Last Modified: 01-SEP-99