I figured out how to get the bitmap icons to work, but the actions for menu items and any other control doesn't work.
Also, oops, forgot to post the code:
obj_editor_controllerCreate Event:{
menuBar = API_Menu_Create();
menuFile = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuFile,"&File");
menuFileNew = API_Menu_AddString(menuFile,"&New");
menuFileOpen = API_Menu_AddString(menuFile,"&Open");
menuFileSave = API_Menu_AddString(menuFile,"&Save");
menuFileSaveAs = API_Menu_AddString(menuFile,"&Save As");
API_Menu_AddSeparator(menuFile);
menuFileTest = API_Menu_AddString(menuFile,"&Test Level");
menuFilePlay = API_Menu_AddString(menuFile,"&Play Level");
menuFilePublish = API_Menu_AddString(menuFile,"&Publish To .lvl");
menuFileImport = API_Menu_AddString(menuFile,"&Import Level (.lvl)");
API_Menu_AddSeparator(menuFile);
menuFileBack = API_Menu_AddString(menuFile,"&Back To Main Menu");
menuFileExit = API_Menu_AddString(menuFile,"&Exit");
menuEdit = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuEdit,"&Edit");
menuEditUndo = API_Menu_AddString(menuEdit,"&Undo");
menuEditRedo = API_Menu_AddString(menuEdit,"&Redo");
API_Menu_AddSeparator(menuEdit);
menuEditCut = API_Menu_AddString(menuEdit,"&Cut");
menuEditCopy = API_Menu_AddString(menuEdit,"&Copy");
menuEditPaste = API_Menu_AddString(menuEdit,"&Paste");
menuLevel = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuLevel,"&Level");
menuLevelName = API_Menu_AddString(menuLevel,"&Level Name");
menuLevelCreator = API_Menu_AddString(menuLevel,"&Level Creator");
menuLevelSettings = API_Menu_AddString(menuLevel,"&Level Settings");
menuEditor = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuEditor,"&Editor");
menuObjects = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuEditor,"&Objects");
menuObjectsCustom = API_Menu_AddString(menuObjects,"&Custom Objetcts");
menuHelp = API_Menu_CreatePopup();
API_Menu_AddMenu(menuBar,menuHelp,"&Help");
menuHelpDocumentation = API_Menu_AddString(menuHelp,"&Documentation");
menuHelpEditorManual = API_Menu_AddString(menuHelp,"&Editor Manual");
API_Menu_AddSeparator(menuHelp);
menuHelpOnlineManual = API_Menu_AddString(menuHelp,"&Online Manual");
menuHelpCommunity = API_Menu_AddString(menuHelp,"&Community / Forums");
menuHelpWebsite = API_Menu_AddString(menuHelp,"&Visit Our Website");
API_Menu_AddSeparator(menuHelp);
menuHelpAbout = API_Menu_AddString(menuHelp,"&About SMB: U");
API_Menu_SetItemBitmap(menuFileNew,global.bmp_new);
API_Menu_SetItemBitmap(menuFileOpen,global.bmp_open);
API_Menu_SetItemBitmap(menuFileSave,global.bmp_save);
API_Menu_SetItemBitmap(menuFileSaveAs,global.bmp_saveas);
API_Menu_SetItemBitmap(menuFileExit,global.bmp_exit);
API_Menu_SetItemBitmap(menuEditUndo,global.bmp_undo);
API_Menu_SetItemBitmap(menuEditRedo,global.bmp_redo);
API_Menu_SetItemBitmap(menuEditCut,global.bmp_cut);
API_Menu_SetItemBitmap(menuEditCopy,global.bmp_copy);
API_Menu_SetItemBitmap(menuEditPaste,global.bmp_paste);
API_Menu_SetItemEnabled(menuEditCut,0);
API_Menu_SetItemEnabled(menuEditCopy,0);
API_Menu_SetItemEnabled(menuEditPaste,0);
API_Menu_Set(window_handle(),menuBar);
}Step Event:{
command = API_Check_Command(1);
switch(command)
{
case (menuFileOpen):
{
var load;
load = get_open_filename("Level Template (*.tmp)|*.tmp","");
if (load != "")
{
draw_message("Loading the level: " + filename_name(load));
global.file = filename_name(load);
global.filedir = load;
with (obj_objects_edit)
instance_destroy();
load_edit(load);
obj_editor_controller1.changed = false;
}
}
break;
case (menuFileSave):
{
if (global.file = "Untitled")
{
var n;
n = get_save_filename("Level Template (*.tmp)|*.tmp","");
if (n != "")
{
draw_message("Saving file: " + filename_name(n + ".tmp"));
global.file = filename_name(n + ".tmp");
global.filedir = n;
save_level(n + ".tmp");
global.changed = false;
}
}
else
{
draw_message("Overwriting File: " + filename_name(global.file));
file_delete(global.file)
save_level(global.file);
global.changed = false;
}
}
break;
case (menuFileSaveAs):
{
var n;
n = get_save_filename("Level Template (*.tmp)|*.tmp","");
if (n != "")
{
draw_message("Saving file: " + filename_name(n));
global.file = filename_name(n);
global.filedir = n;
save_level(n + ".tmp");
global.changed = false;
}
}
break;
case (menuFileExit):
game_end();
break;
case (menuEditUndo):
undo_action();
break;
case (menuLevelName):
{
if (!instance_exists(obj_level_name))
instance_create(0,0,obj_level_name);
}
break;
}
}obj_level_nameCreate Event:{
API_Define_Styles();
levelNameWindow = API_Window_Create(window_handle(),500,500,400,150,WS_OVERLAPPEDWINDOW,WS_EX_CLIENTEDGE);
levelNameWindow_Text = API_Static_Create(levelNameWindow,15,28,100,20,SS_SIMPLE);
levelNameWindow_Edit = API_Edit_Create(levelNameWindow,105,23,200,20,ES_AUTOHSCROLL|WS_TABSTOP,WS_EX_CLIENTEDGE);
levelNameWindow_ButtonOkay = API_Button_Create(levelNameWindow,220,80,75,23,0,0);
levelNameWindow_ButtonCancel = API_Button_Create(levelNameWindow,300,80,75,23,0,0);
API_Window_SetText(levelNameWindow,"Level Name");
API_Control_SetText(levelNameWindow_Text,"Enter level name:");
API_Control_SetText(levelNameWindow_Edit,global.level_name);
API_Control_SetText(levelNameWindow_ButtonOkay,"Accept");
API_Control_SetText(levelNameWindow_ButtonCancel,"Cancel");
}Step Event:{
if (!API_Window_Exists(levelNameWindow))
instance_destroy();
command = API_Check_Command(1);
switch (command)
{
case (levelNameWindow_ButtonOkay):
{
second = API_Check_SecondaryCommand(1);
if (second = BN_CLICKED)
{
global.level_name = API_Edit_GetLine(levelNameWindow_Edit);
API_Window_Destroy(levelNameWindow);
instance_destroy();
}
}
}
}I have no idea what is happening, I did exactly what the tutorial does.
Also, I have another question, can you do group boxes with Max WinAPI 2, and if so, how do you use group boxes?
Edited by 'Dark Star', 26 January 2012 - 05:39 AM.