VB icon

Making a menu using winapi non-mfc

Email
Submitted on: 1/2/2015 6:20:00 PM
By: Jay (from psc cd)  
Level: Beginner
User Rating: By 9 Users
Compatibility: C++ (general), Microsoft Visual C++
Views: 2222
 
     This code shows how to easily and quickly create a menu on a non-mfc window using winapi. I this code is versatile, and extremely useful as I for one hate resources. This example deals with making a "file --> exit" menu. The methods used in making this apply to all menus.
 
code:
Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
				
//**************************************
// Name: Making a menu using winapi non-mfc
// Description:This code shows how to easily and quickly create a menu on a non-mfc window using winapi. I this code is versatile, and extremely useful as I for one hate resources. This example deals with making a "file --> exit" menu. The methods used in making this apply to all menus.
// By: Jay (from psc cd)
//**************************************

//define any menu ITEMS u might have, in this case "exit"
#define CM_MENU_FILE_EXIT 2001
//place this in LRESULT CALLBACK WindowFunc
HMENU hMenu, hSubMenu;
//create the menu in the WM_CREATE section of LRESULT CALLBACK WindowFunc
hMenu = CreateMenu();
hSubMenu = CreatePopupMenu();
AppendMenu(hSubMenu, MF_STRING, CM_MENU_FILE_EXIT, "E&xit");
AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&File");
SetMenu(hwnd, hMenu);
//note - if creating extra menus dont forget to call hSubmenu = CreatePopupMenu(); again or all your "menu items" will just b added to the old menu
//give the "menu item" an action under WM_COMMAND
switch(LOWORD(wParam)) {
case CM_MENU_FILE_EXIT:
PostMessage(hwnd, WM_CLOSE, 0, 0);
break;
}
//i hope this has been helpful, feel free to comment


Other 1 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Beginner category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments

12/17/2015 3:41:06 AM

Simple and works great. Should mention, that if you have created menus using resource.h and filename.rc. This method will override that.
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.