Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Adding accelerator characters to TTabsheets


How can I make an accelerator character work for a Tabsheet? I put accelerator characters in the captions for each Tabsheet of a PageControl, but when I try to tab the pages using accelerator key, it beeps and does nothing.   

    The following example demonstrates trapping the CM_DIALOGCHAR message to surface the accelerator messages for the tab sheets of a PageControl.

    Example:
    type
      TForm  = class(TForm)
        PageControl : TPageControl;
        TabSheet : TTabSheet;
        TabSheet2: TTabSheet;
        TabSheet3: TTabSheet;
      private
        { Private declarations }
         procedure CMDialogChar(var Msg:TCMDialogChar);
           message CM_DIALOGCHAR;
     public
        { Public declarations }
      end;

    var Form : TForm ;

    implementation

    {$R *.DFM}

    procedure TForm .CMDialogChar(var Msg:TCMDialogChar); var i:Integer; begin with PageControl do begin if Enabled then for i := 0 to PageControl .PageCount - do if ((IsAccel(Msg.CharCode, Pages[i].Caption)) and (Pages[i].TabVisible)) then begin Msg.Result:= ; ActivePage := Pages[i]; exit; end; end; inherited; end;

     



  << 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