Author Topic: Menu Maker 2.0  (Read 2177 times)

mekanixx

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Menu Maker 2.0
« on: December 07, 2022, 06:38:12 PM »
Hello folks,

Welcome to Menu Maker 2.0! This is an updated version of the MenuMaker program I
wrote back in 2001 or so. Please read the Readme.txt file to get started using Menu Maker 2.0.

Code: [Select]
        1. Creates an "BCXMenu.inc" file to include directly into your source *.bas file.
2. Copies the source into the clipboard to paste into your file.
3. Use a treeview so images can be used for menu items.
4. You can drag and drop menu items in the treeview.
5. Right click for a context menu for deleting items.
6. Includes the ability to use bitmap items in your menus.
            (MrBCX, I like a challenge) :)
7. Loads bitmaps from files instead of using resources.
            You can choose your own bitmaps and add/delete these as you like.
            Any *.bmp files in the "bmp" folder will automatically load at startup.
8. Save/Reload menu file when doing large menus.
        9. If there is not a menu caption you want to use, you can click in the combo
            edit box and enter whatever you need. It will be used for your menu name.
      10. A data file ("mm2.dat") has a list of menu names and shortcuts .
           These can be edited to include any menu names or shortcuts not included.
           Change to your menu names.
 

 Consider this an alpha version as I'm sure there are bugs.
 Have fun!

Doyle

MrBcx

  • Administrator
  • Hero Member
  • *****
  • Posts: 2538
    • View Profile
Re: Menu Maker 2.0
« Reply #1 on: December 07, 2022, 07:48:37 PM »
Thanks Doyle,

That was the easiest menu I've ever added to a GUI app.




mekanixx

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Menu Maker 2.0
« Reply #2 on: December 07, 2022, 07:53:37 PM »
Thanks Doyle,

That was the easiest menu I've ever added to a GUI app.

Thanks, glad it worked for you!

Doyle

Robert

  • Hero Member
  • *****
  • Posts: 1363
    • View Profile
Re: Menu Maker 2.0
« Reply #3 on: December 15, 2023, 08:23:02 PM »
Hi Doyle:

Thanks for this great, as usual, tool and code.

Here's a bit of cosmetics that you might want to attend to.

In Menu Maker 2.0, mm2.bas lines 45 through 48

   DIM icex AS INITCOMMONCONTROLSEX
   icex.dwSize = sizeof(INITCOMMONCONTROLSEX)
   icex.dwICC = ICC_TREEVIEW_CLASSES
   InitCommonControlsEx(&icex)

are OxBow Code.

The code for initializing ICC_TREEVIEW_CLASSES is emitted in BCX_InitGUI.

Andreas Guenther's Treeview demo in the GUI_Demos also contains this superfluous code.



mekanixx

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
Re: Menu Maker 2.0
« Reply #4 on: December 16, 2023, 09:41:51 AM »
Hi Doyle:

Thanks for this great, as usual, tool and code.

Here's a bit of cosmetics that you might want to attend to.

In Menu Maker 2.0, mm2.bas lines 45 through 48

   DIM icex AS INITCOMMONCONTROLSEX
   icex.dwSize = sizeof(INITCOMMONCONTROLSEX)
   icex.dwICC = ICC_TREEVIEW_CLASSES
   InitCommonControlsEx(&icex)

are OxBow Code.

The code for initializing ICC_TREEVIEW_CLASSES is emitted in BCX_InitGUI.

Andreas Guenther's Treeview demo in the GUI_Demos also contains this superfluous code.

Thanks Robert, I did not know this. I don't tend to look at the generated code, it just works. (tm) :)

I removed it from the mm2.bas code, looked at the cpp code and saw the InitCommonControlsEx code. You guys are always looking ahead, thanks.

Seems I have a lot of code to change! Appreciate the heads up.

Doyle

 

Robert

  • Hero Member
  • *****
  • Posts: 1363
    • View Profile
Re: Menu Maker 2.0
« Reply #5 on: December 16, 2023, 01:40:29 PM »
Hi Doyle:

Thanks for this great, as usual, tool and code.

Here's a bit of cosmetics that you might want to attend to.

In Menu Maker 2.0, mm2.bas lines 45 through 48

   DIM icex AS INITCOMMONCONTROLSEX
   icex.dwSize = sizeof(INITCOMMONCONTROLSEX)
   icex.dwICC = ICC_TREEVIEW_CLASSES
   InitCommonControlsEx(&icex)

are OxBow Code.

The code for initializing ICC_TREEVIEW_CLASSES is emitted in BCX_InitGUI.

Andreas Guenther's Treeview demo in the GUI_Demos also contains this superfluous code.

Thanks Robert, I did not know this. I don't tend to look at the generated code, it just works. (tm) :)

I removed it from the mm2.bas code, looked at the cpp code and saw the InitCommonControlsEx code. You guys are always looking ahead, thanks.

Seems I have a lot of code to change! Appreciate the heads up.

Doyle

These common control classes are in the BCX 8.0.7 code at
line 33979. They are automatically emitted when associated BCX functions are used.

ICC_LISTVIEW_CLASSES
0x00000001
Load list-view and header control classes.

ICC_TREEVIEW_CLASSES
0x00000002
Load tree-view and tooltip control classes.

ICC_BAR_CLASSES
0x00000004
Load toolbar, status bar, trackbar, and tooltip control classes.

ICC_TAB_CLASSES
0x00000008
Load tab and tooltip control classes.

ICC_UPDOWN_CLASS
0x00000010
Load up-down control class.

ICC_PROGRESS_CLASS
0x00000020
Load progress bar control class.

ICC_USEREX_CLASSES
0x00000200
Load ComboBoxEx class

ICC_DATE_CLASSES
0x00000100
Load date and time picker control class

These common control classes are not automatically emitted and the coder
is responsible for adding them in the code.


ICC_ANIMATE_CLASS
0x00000080
Load animate control class.

ICC_COOL_CLASSES
0x00000400
Load rebar control class.

ICC_HOTKEY_CLASS
0x00000040
Load hot key control class.

ICC_INTERNET_CLASSES
0x00000800
Load IP address class.

ICC_LINK_CLASS
0x00008000
Load a hyperlink control class.

ICC_NATIVEFNTCTL_CLASS
0x00002000
Load a native font control class.

ICC_PAGESCROLLER_CLASS
0x00001000
Load pager control class.

ICC_STANDARD_CLASSES
0x00004000
Load one of the intrinsic User32 control classes. The user controls include button, edit, static, listbox, combobox, and scroll bar.

ICC_WIN95_CLASSES
0x000000FF
Load animate control, header, hot key, list-view, progress bar, status bar, tab, tooltip, toolbar, trackbar, tree-view, and up-down control classes.
« Last Edit: December 16, 2023, 11:55:33 PM by Robert »