Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 adding system menu items to a form


How do I add a custom item to the system menu of my application?   

    The following example demonstrates using the Windows API function AppendMenu() to append a new menu item to the system menu. We will define a new system command constant : SC_MyMenuItem that will be used to identify our new item to the system. After adding the menu item, we will trap the WM_SYSCOMMAND message to test if our new menu item was selected. Example:

    type
      TForm  = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure WMSysCommand(var Msg: TWMSysCommand);
          message WM_SYSCOMMAND;
      public
        { Public declarations }
      end;
    var
      Form : TForm ;
    implementation
    {$R *.DFM}
    const
      SC_MyMenuItem = WM_USER +  ;

    procedure TForm .FormCreate(Sender: TObject); begin AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, ''); AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING, SC_MyMenuItem, 'My Menu Item'); end;

    procedure TForm .WMSysCommand(var Msg: TWMSysCommand); begin if Msg.CmdType = SC_MyMenuItem then ShowMessage('Got the message') else 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