C Board  

Go Back   C Board > Platform Specific Boards > Windows Programming

Reply
 
LinkBack Thread Tools Display Modes
Old 12-14-2002, 03:00 PM   #1
Emotionally Unstable
 
DarkViper's Avatar
 
Join Date: Oct 2002
Posts: 343
Something is wrong with this menu...

as you know, i dont use a resource editor, so i type everything by hand, and for soe reason this menu will not work right! everything is structured perfectly, only problem is, is that, well, there are 4 menus up top in the main menu bar called "hmenu" and form there on its all basically a heiachy of popup menus. its supposed to have:
DarkCode Edit Code Quik Code Help
and they each have a slew of menus undernethe them. bot for some reason it loks like this:
Edit Code Quik Code Help
and nothing pops up under EditCode. QuikCode and help work fine, those are noraml, but something is completely awry, and it has had me frustrated for 3 days. at first, it looked like this:
Help
with everything under that and i got to this point. but now i cant figure out whats wrong. someone help!!!!!

Code:
case WM_CREATE:
			HMENU hmenu;
			hmenu = CreateMenu ();
			MENUITEMINFO mii;
			mii.cbSize = sizeof(MENUITEMINFO);
			mii.fMask = MIIM_TYPE | MIIM_ID;
			mii.fType = MFT_STRING;
			char *string;
			string = new char[40];
			
				HMENU darkcode;
				darkcode = CreatePopupMenu ();
				
				lstrcpy (string, "New DarkCode");
				mii.fMask = MIIM_TYPE | MIIM_ID;
				mii.wID = 1;
				InsertMenuItem(darkcode, 1, TRUE, &mii);
				
					HMENU opencode;
					opencode = CreatePopupMenu ();
   							
					lstrcpy (string, "DarkCode Document");
					mii.fMask = MIIM_TYPE | MIIM_ID;
					mii.wID = 2;
					InsertMenuItem(opencode, 1, TRUE, &mii);
					
     				lstrcpy (string, "HTML Document");
					mii.fMask = MIIM_TYPE | MIIM_ID;
					mii.wID = 4;
					InsertMenuItem(opencode, 2, TRUE, &mii);
					
					lstrcpy (string, "JavaScript");
					mii.wID = 5;
					InsertMenuItem(opencode, 3, TRUE, &mii);
					
					lstrcpy (string, "Cascading Style Sheet");
					mii.wID = 6;
					InsertMenuItem(opencode, 4, TRUE, &mii);
					
					lstrcpy (string, "Javascript Style Sheet");
					mii.wID = 7;
					InsertMenuItem(opencode, 5, TRUE, &mii);
					
					lstrcpy (string, "Perl Script");
					mii.wID = 8;
					InsertMenuItem(opencode, 6, TRUE, &mii);
					
					lstrcpy (string, "CGI Script");
					mii.wID = 9;
					InsertMenuItem(opencode, 7, TRUE, &mii);
					
					lstrcpy (string, "PHP Document");
					mii.wID = 10;
					InsertMenuItem(opencode, 8, TRUE, &mii);
					
					lstrcpy (string, "Active Server Page Script");
					mii.wID = 11;
					InsertMenuItem(opencode, 9, TRUE, &mii);
					
					lstrcpy (string, "C Code");
					mii.wID = 12;
					InsertMenuItem(opencode, 10, TRUE, &mii);
					
					lstrcpy (string, "C++ Code");
					mii.wID = 13;
					InsertMenuItem(opencode, 11, TRUE, &mii);
					
					lstrcpy (string, "C# Code");
					mii.wID = 14;
					InsertMenuItem(opencode, 12, TRUE, &mii);
					
					lstrcpy (string, "C Header File");
					mii.wID = 15;
					InsertMenuItem(opencode, 13, TRUE, &mii);
					
					lstrcpy (string, "C Resource Script");
					mii.wID = 16;
					InsertMenuItem(opencode, 14, TRUE, &mii);
					
				// the submenu of ^^^^^^^^^^ those
    			lstrcpy (string, "Open Code");
				mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
				mii.hSubMenu = opencode;
				InsertMenuItem(darkcode, 2, TRUE, &mii);
				
				lstrcpy (string, "Save Code");
				mii.fMask = MIIM_TYPE | MIIM_ID;
				mii.wID = 17;
				InsertMenuItem(darkcode, 3, TRUE, &mii);
				
     				HMENU exportcode;
					exportcode = CreatePopupMenu();
						
						lstrcpy (string, "HTML Document");
						mii.fMask = MIIM_TYPE | MIIM_ID;
						mii.wID = 18;
						InsertMenuItem(exportcode, 1, TRUE, &mii);
						
						lstrcpy (string, "JavaScript");
						mii.wID = 19;
						InsertMenuItem(exportcode, 2, TRUE, &mii);
						
						lstrcpy (string, "Cascading Style Sheet");
						mii.wID = 20;
						InsertMenuItem(exportcode, 3, TRUE, &mii);
						
						lstrcpy (string, "Javascript Style Sheet");
						mii.wID = 21;
						InsertMenuItem(exportcode, 4, TRUE, &mii);
						
						lstrcpy (string, "Perl Program");
						mii.wID = 22;
						InsertMenuItem(exportcode, 5, TRUE, &mii);
						
						lstrcpy (string, "CGI Program");
						mii.wID = 23;
						InsertMenuItem(exportcode, 6, TRUE, &mii);
						
						lstrcpy (string, "PHP Document");
						mii.wID = 24;
						InsertMenuItem(exportcode, 7, TRUE, &mii);
						
						lstrcpy (string, "Active Server Page");
						mii.wID = 25;
						InsertMenuItem(exportcode, 8, TRUE, &mii);
						
						lstrcpy (string, "C File");
						mii.wID = 26;
						InsertMenuItem(exportcode, 9, TRUE, &mii);
						
						lstrcpy (string, "C++ File");
						mii.wID = 27;
						InsertMenuItem(exportcode, 10, TRUE, &mii);
						
						lstrcpy (string, "C# File");
						mii.wID = 28;
						InsertMenuItem(exportcode, 11, TRUE, &mii);
						
						lstrcpy (string, "C Header File");
						mii.wID = 29;
						InsertMenuItem(exportcode, 12, TRUE, &mii);
						
						lstrcpy (string, "C Resource Script");
						mii.wID = 30;
						InsertMenuItem(exportcode, 13, TRUE, &mii);
						
					lstrcpy (string, "Export Code");
					mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
					mii.hSubMenu = exportcode;
					InsertMenuItem(darkcode, 4, TRUE, &mii);
					
					lstrcpy (string, "Print Code");
					mii.fMask = MIIM_TYPE | MIIM_ID;
					mii.wID = 31;
					InsertMenuItem(darkcode, 5, TRUE, &mii);
					
					lstrcpy (string, "Exit DarkCode");
					mii.wID = 32;
					InsertMenuItem(darkcode, 6, TRUE, &mii);

				lstrcpy (string, "DarkCode");
				mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
				mii.hSubMenu = darkcode;
				InsertMenuItem(hmenu, 1, TRUE, &mii);
				
					HMENU eMenu;
					eMenu = CreatePopupMenu();
					
						lstrcpy (string, "Undo");
						mii.fMask = MIIM_TYPE | MIIM_ID;
						mii.wID = 33;
						InsertMenuItem(eMenu, 1, TRUE, &mii);
						
						lstrcpy (string, "Copy");
						mii.wID = 34;
						InsertMenuItem(eMenu, 2, TRUE, &mii);
						
						lstrcpy (string, "Paste");
						mii.wID = 35;
						InsertMenuItem(eMenu, 3, TRUE, &mii);
						
						lstrcpy (string, "Cut");
						mii.wID = 36;
						InsertMenuItem(eMenu, 4, TRUE, &mii);
						
					lstrcpy (string, "Edit Code");
					mii.dwTypeData = string;
					mii.cch = lstrlen (string);
					mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
					mii.hSubMenu = eMenu;
					InsertMenuItem(hmenu, 2, TRUE, &mii);
					
					HMENU codesnip;
					codesnip = CreatePopupMenu();
						
						HMENU htmlcode;
						htmlcode = CreatePopupMenu();
						
							lstrcpy (string, "Basic Setup");
							mii.fMask = MIIM_TYPE | MIIM_ID;
							mii.wID = 37;
							InsertMenuItem(htmlcode, 0, FALSE, &mii);
							
					lstrcpy (string, "HTML");
					mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
					mii.hSubMenu = htmlcode;
					InsertMenuItem(codesnip, 1, TRUE, &mii);
						
						HMENU javascriptcode;
						javascriptcode = CreatePopupMenu();
						
							lstrcpy (string, "Basic Startup");
							mii.fMask = MIIM_TYPE | MIIM_ID;
							mii.wID = 38;
							InsertMenuItem(javascriptcode, 0, FALSE, &mii);
							
					lstrcpy (string, "JavaScript");
					mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
					mii.hSubMenu = javascriptcode;
					InsertMenuItem(codesnip, 2, TRUE, &mii);
					
						HMENU csscode;
						csscode = CreatePopupMenu();
							
							lstrcpy (string, "Basic Setup");
							mii.fMask = MIIM_TYPE | MIIM_ID;
							mii.wID = 39;
							InsertMenuItem(csscode, 0, FALSE, &mii);
							
					lstrcpy (string, "CSS");
     				mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
     				mii.hSubMenu = csscode;
         			InsertMenuItem(codesnip, 3, TRUE, &mii);
         			
         				HMENU perlcode;
         				perlcode = CreatePopupMenu();
         				
         					lstrcpy (string, "Basic Setup");
                  			mii.fMask = MIIM_TYPE | MIIM_ID;
                     		mii.wID = 40;
                       		InsertMenuItem(perlcode, 0, FALSE, &mii);
                    
                    lstrcpy (string, "Perl");
                    mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
                    mii.hSubMenu = perlcode;
                   	InsertMenuItem(codesnip, 4, TRUE, &mii);
                   	
                   		HMENU phpcode;
                   		phpcode = CreatePopupMenu();
                   			
          				lstrcpy (string, "Basic Setup");
           			    mii.fMask = MIIM_TYPE | MIIM_ID;
           			    mii.wID = 41;
           			    InsertMenuItem(phpcode, 0, FALSE, &mii);
           			    
      			    lstrcpy (string, "PHP");
             		mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
             		mii.hSubMenu = phpcode;
             		InsertMenuItem(codesnip, 5, TRUE, &mii);
             		
             			HMENU aspcode;
             			aspcode = CreatePopupMenu();
             			
             			lstrcpy (string, "Basic Setup");
             			mii.fMask = MIIM_TYPE | MIIM_ID;
             			mii.wID = 42;
             			InsertMenuItem(aspcode, 0, FALSE, &mii);
             			
      			   lstrcpy (string, "ASP");
      			   mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
      			   mii.hSubMenu = aspcode;
      			   InsertMenuItem(codesnip, 6, TRUE, &mii);
				   
				   		HMENU ccode;
				   		ccode = CreatePopupMenu();
				   		
				   		lstrcpy (string, "NONE");
				   		mii.fMask = MIIM_TYPE | MIIM_ID;
				   		mii.wID = 43;
				   		InsertMenuItem(ccode, 0, FALSE, &mii);
				   		
		   		  lstrcpy (string, "C");
		   		  mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
		   		  mii.hSubMenu = ccode;
		   		  InsertMenuItem(codesnip, 7, TRUE, &mii);
		   		  
		   		  		HMENU cppcode;
		   		  		cppcode = CreatePopupMenu();
		   		  		
		   		  		lstrcpy (string, "Console - Setup");
		   		  		mii.fMask = MIIM_TYPE | MIIM_ID;
		   		  		mii.wID = 44;
		   		  		InsertMenuItem(cppcode, 0, FALSE, &mii);
		   		  		
		   		  		lstrcpy (string, "Console - Hello World");
		   		  		mii.wID = 45;
		   		  		InsertMenuItem(cppcode, 0, FALSE, &mii);
		   		  		
   		  		  lstrcpy(string, "C++");
   		  		  mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
   		  		  mii.hSubMenu = cppcode;
   		  		  InsertMenuItem(codesnip, 8, TRUE, &mii);
   		  		  
   		  		  		HMENU csharpcode;
   		  		  		csharpcode = CreatePopupMenu();
   		  		  		
   		  		  		lstrcpy (string, "NONE");
		   		  		mii.fMask = MIIM_TYPE | MIIM_ID;
		   		  		mii.wID = 46;
		   		  		InsertMenuItem(csharpcode, 0, FALSE, &mii);
		   		  		
   		  		 lstrcpy(string, "C#");
   		  		  mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
   		  		  mii.hSubMenu = csharpcode;
	  		     InsertMenuItem(codesnip, 9, TRUE, &mii);
	  		     
	  		     		HMENU javacode;
	  		     		javacode = CreatePopupMenu();
   		  		  		
   		  		  		lstrcpy (string, "Basic Setup");
		   		  		mii.fMask = MIIM_TYPE | MIIM_ID;
		   		  		mii.wID = 47;
		   		  		InsertMenuItem(javacode, 0, FALSE, &mii);
		   		  		
   		  		 lstrcpy(string, "Java");
   		  		  mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
   		  		  mii.hSubMenu = javacode;
	  		     InsertMenuItem(codesnip, 10, TRUE, &mii);
	  		     
  		     lstrcpy(string, "Quik Code");
 		     mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
 		     mii.hSubMenu = codesnip;
 		     InsertMenuItem(hmenu, 3, TRUE, &mii);
 		     	
 		     	HMENU helpmenu;
 		     	helpmenu = CreatePopupMenu();
 		     	
 		     	lstrcpy (string, "Contextual HTML Help");
 		     	mii.fMask = MIIM_TYPE | MIIM_ID;
 		     	mii.wID = 48;
 		     	InsertMenuItem(helpmenu, 0, FALSE, &mii);
 		     	
 		     	lstrcpy (string, "About DarkCode v1");
 		     	mii.wID = 49;
 		     	InsertMenuItem(helpmenu, 0, FALSE, &mii);
 		     	
 		     	lstrcpy (string, "About DarkCode v1 (webpage)");
 		     	mii.wID = 50;
 		     	InsertMenuItem(helpmenu, 0, FALSE, &mii);
 		     	
 		     	lstrcpy (string, "Visit ViperVision.org");
 		     	mii.wID = 51;
 		     	InsertMenuItem(helpmenu, 0, FALSE, &mii);
 		     	
 		     	lstrcpy (string, "Visit DeadNight Entertainment");
 		     	mii.wID = 52;
 		     	InsertMenuItem(helpmenu, 0, FALSE, &mii);
 		     	
	     	lstrcpy (string, "Help");
	     	mii.fMask = MIIM_TYPE | MIIM_SUBMENU;
	     	mii.hSubMenu = helpmenu;
	     	InsertMenuItem(hmenu, 4, TRUE, &mii);
	     	
    	SetMenu (hwnd, hmenu);
__________________
~DJ DarkViper signing out
----------------------------------------
My Site:
Black Jaguar Studios

Languages:
Fluent English, Starter German, HTML, Javascript, Actionscript, Intermediate PHP

Verteran Despiser of: ASP, Java, BASIC, Pascal, Cobalt
DarkViper is offline   Reply With Quote
Old 12-14-2002, 09:04 PM   #2
train spotter
 
Join Date: Aug 2001
Location: near a computer
Posts: 3,359
Check your InsertMenuItem() indexes, they should start at item zero, and the item ID numbers for the callback. They both should not be repeated.

#define ID_MENU_ITEM_FOR_CALLBACK 40001

mii.wID = ID_MENU_ITEM_FOR_CALLBACK

iMenuIndex [is zero based and I think goes down then across, into all popups first]

InsertMenuItem(hMenu ,iMenuIndex ,TRUE ,&MenuItemInfo );

don't forget

MenuItemInfo.hSubMenu=???

>>as you know, i dont use a resource editor

In this case IMHO it would be better if you had. This is a large and complex menu.
If I need to smash rocks I get my sledgehammer (resource editor) and if I want to crack a nut I use something more appropriate (append menu on the fly).
__________________
"Man alone suffers so excruciatingly in the world that he was compelled to invent laughter."
Friedrich Nietzsche

"I spent a lot of my money on booze, birds and fast cars......the rest I squandered."
George Best

"If you are going through hell....keep going."
Winston Churchill
novacain is offline   Reply With Quote
Old 12-14-2002, 11:06 PM   #3
Emotionally Unstable
 
DarkViper's Avatar
 
Join Date: Oct 2002
Posts: 343
well, ok, ill make an .h file and program it with words for ID's, but as for not using a resource editor, you dont think ive tried???? whenever i compiler it keeps telling me ("afxres.h" no such file/or directory). and it wont compile. other than that, it just wont work. as for your other ideas, ill give that a try...thanx, anybody elses opinion would be great!
__________________
~DJ DarkViper signing out
----------------------------------------
My Site:
Black Jaguar Studios

Languages:
Fluent English, Starter German, HTML, Javascript, Actionscript, Intermediate PHP

Verteran Despiser of: ASP, Java, BASIC, Pascal, Cobalt
DarkViper is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Creating a menu that reads input via an array? Nalif C Programming 6 09-29-2006 09:21 PM
Thoughts on Menu System for Book Inventory curlious C++ Programming 3 09-29-2003 03:32 AM
Context Menu cursor problem dWorkVan Windows Programming 4 07-14-2003 11:42 AM
God datainjector A Brief History of Cprogramming.com 746 12-22-2002 12:01 PM
Contexual Menu Cgawd Windows Programming 6 11-24-2002 04:18 AM


All times are GMT -6. The time now is 01:30 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0 RC2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22