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