Jump to content


Photo

Max WinAPI 2


  • Please log in to reply
3 replies to this topic

#1 'Dark Star'

'Dark Star'

    GMC Member

  • New Member
  • 19 posts
  • Version:GM8

Posted 24 January 2012 - 05:20 AM

Hi, I'm using Max WinAPI 2 DLL for my game, and I have a couple of questions for making a menu.

1. How do you make the menu items have a bitmapped item next to it.
2. How do you make it that when you click on a menu item, it does something.
3. How do you make there be text on the right side of a menu item (like some programs do when there is a/are shortcut key(s) for what clicking on the menu item does)?

Posted Image

4. Is it possible to do group boxes with Max WinAPI 2, and if so, how do you use group boxes?

Posted Image

Edited by 'Dark Star', 27 January 2012 - 08:54 PM.

  • 0

#2 Medusar

Medusar

    GMC Member

  • GMC Member
  • 1228 posts
  • Version:GM:Studio

Posted 24 January 2012 - 01:36 PM

Check the example that comes with Max WinAPI 2. It showcases most, possibly all, features.
  • 0

#3 'Dark Star'

'Dark Star'

    GMC Member

  • New Member
  • 19 posts
  • Version:GM8

Posted 24 January 2012 - 08:05 PM

Check the example that comes with Max WinAPI 2. It showcases most, possibly all, features.

The example that comes with it doesn't work, it automatically exits at the start.
And I have checked the example, I can't find anything to do with menu bitmaps and the last question.

EDIT: Also, I did exactly what it said for menu actions, and it doesn't work.
EDIT2: Also, other object's actions don't work.

Edited by 'Dark Star', 25 January 2012 - 12:18 AM.

  • 0

#4 'Dark Star'

'Dark Star'

    GMC Member

  • New Member
  • 19 posts
  • Version:GM8

Posted 26 January 2012 - 05:33 AM

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_controller
Create 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_name
Create 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?

Posted Image

Edited by 'Dark Star', 26 January 2012 - 05:39 AM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users