Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Controlling shortcut keystrokes in a string grid


I have a string grid that is read only. I am trapping any keystrokes sent to the string grid. I have a button that has a caption of E&xit. When ever the user presses the x key (even if the alt key is not pressed) in the string grid, the button click is executed. How can I prevent this?   

    The following example demonstrates trapping the CM_DIALOGCHAR message at the form level. This will give you an opportunity to respond to a dialog character only if the alt key is held down, preventing the default handeling of the character shortcuts.

    Example:

    type TForm = class(TForm) Button : TButton; StringGrid : TStringGrid; procedure FormCreate(Sender: TObject); procedure Button Click(Sender: TObject); procedure StringGrid KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR; public { Public declarations } end;

    var Form : TForm ;

    implementation

    {$R *.DFM}

    procedure TForm .FormCreate(Sender: TObject); begin Button .Caption := 'E&xit'; end;

    procedure TForm .Button Click(Sender: TObject); begin Application.Terminate; end;

    procedure TForm .StringGrid KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin ShowMessage('Grid keypress = ' + Char(Key)); Key := 0; end;

    procedure TForm .CMDialogChar(var Message: TCMDialogChar); begin if ssAlt in KeyDataToShiftState(Message.KeyData) then inherited; end;

    7/ 6/98 4:3 :28 PM

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use