Jump to content


Photo

Bztoolbar Dll - Put A Toolbar In Gm. Version > 3.0


  • This topic is locked This topic is locked
55 replies to this topic

#1 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 19 July 2005 - 01:21 AM

<span style='font-size:14pt;line-height:100%'>BZToolbar DLL
Current Version: 3.0
</span>

BZToolbar DLL is a dll that allows you to put a working toolbar in your gm game or program.


New Features:
1. Show or hide the toolbar
2. Remove the toolbar in game
3. Get whether the toolbar is visible
4. Get whether the toolbar exists
5. Set the y position of the toolbar
6. Get the y position of the toolbar
7. Use of one bitmap for multiple images

Upcoming Features in 3.1:
1. Set and get the x position of the toolbar
2. Tooltips

Files Included in Zip:
1. BZToolbar.dll - The dll
2. custom.bmp - Custom bitmap to be used for custom buttons
4. BZToolbar_Scripts.gml - The scripts required to use the BZToolbar DLL
5. example.gm6 - An example for using the dll

Features:
1. Create a toolbar
2. Add buttons to the toolbar (Buttons can start as enabled or disabled)
3. Insert buttons
5. Delete item
6. Show or hide buttons
7. Get bitmap used by button
8. Load a bitmap to use on a button
9. Add separators to the toolbar
10. Check if a button was clicked
11. Check if a button is enabled
12. Enable or disable a button
13. Get the height of the toolbar (Needed because the toolbar is created over the room, unlike menus which are created above.)
14. Line wrap (if buttons expand to over one line)
15. Change the bitmap of a button
And More...

I created this dll upon a request and a notion that no toolbars could be put into gm without having the "Blackout effect" that other api controls have. Though those dlls were made in other languages, and I made an example in c++ and it worked. So I made it applicable for gm to use a toolbar.

This toolbar can currently only run in one window (will most likely be the gm window). The buttons can use the standard buttons given with windows or custom buttons from bitmaps(*.bmp). The loaded bitmaps can be loaded as transparent so it will fit with the rest of the buttons and look more professional. Unfortunatly only 256 Color and 16 Color bitmaps support the transparent feature, 24-bit bitmaps do not become transparent and show the actual image and become a gray square when disabled, unlike the 256 and 16 Color bitmaps that, when disabled and transparent, become gray outlines like the standard buttons.

Anyway here is the direct download link.

Possible Future Version Features:
1. Large and small available sizes for button images
2. Text for buttons (with or without images) << Maybe
3. Tooltips
4. Multi-Window support << Know how to, but not likely to happen
5. Dropdown buttons << Maybe
6. Checkboxes << Maybe
7. Line style separators


Have fun,
BZG
ps. if you experience any problems let me know...
  • 0

#2 Witch Craft Games

Witch Craft Games

    The horror within

  • GMC Member
  • 1132 posts

Posted 19 July 2005 - 01:55 AM

This is cool. This is the first toolbar lib I've seen mayed for gm. Keep up the good work man.
  • 0
Majoring in Biology at Ball State University, Muncie IN.

#3 tangibleLime

tangibleLime

    Lunatic

  • GMC Elder
  • 2520 posts
  • Version:GM:HTML5

Posted 19 July 2005 - 01:58 AM

Looks great, but one problem. You should really have a script to initialize the DLL, and the actions just the actions. Else, it defines the action every time, which is unnecessary.
  • 0
Posted ImagePosted Image

#4 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 19 July 2005 - 02:15 AM

This is cool.  This is the first toolbar lib I've seen mayed for gm.  Keep up the good work man.

<{POST_SNAPBACK}>

Actually it is a dll, not a lib, there is a difference. But thanks for the compliment, and I'll try to keep it up.

Looks great, but one problem. You should really have a script to initialize the DLL, and the actions just the actions. Else, it defines the action every time, which is unnecessary.

<{POST_SNAPBACK}>

I like doing it anyway, because I find having extra variables and scripts you don't need unnecessary. Not criticizing you if you like it that way, but I just don't like to. But I might do it sometime, just not now.


BZG
  • 0

#5 Tahnok

Tahnok

    Friendly Madman

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

Posted 19 July 2005 - 03:14 AM

Very cool! I like the disable/enable function. I'm looking forward to using this in my program!

Thanks BZGaming!
  • 0

gmc_signature.png


#6 Porfirio

Porfirio

    GMC Member

  • GMC Member
  • 1209 posts

Posted 19 July 2005 - 09:43 AM

Looks great, but one problem. You should really have a script to initialize the DLL, and the actions just the actions. Else, it defines the action every time, which is unnecessary.

<{POST_SNAPBACK}>


I believe everyone here have a code style
My code style is almost like bz style
I dont like your style you dont like my style so ==

This is cool.  This is the first toolbar lib I've seen mayed for gm.  Keep up the good work man.

<{POST_SNAPBACK}>

Actually it is a dll, not a lib, there is a difference. But thanks for the compliment, and I'll try to keep it up.

Looks great, but one problem. You should really have a script to initialize the DLL, and the actions just the actions. Else, it defines the action every time, which is unnecessary.

<{POST_SNAPBACK}>

I like doing it anyway, because I find having extra variables and scripts you don't need unnecessary. Not criticizing you if you like it that way, but I just don't like to. But I might do it sometime, just not now.


BZG

<{POST_SNAPBACK}>


Great job and thank's for the help you gived me you are a realy a good guy and a helper like me and forget the others
Forgive they dont know what they are doing :angry:
  • 0

#7 Cynical

Cynical

    Inside the Cynic

  • New Member
  • 423 posts

Posted 19 July 2005 - 03:23 PM

This is the first DLL that does this that I've seen and it seems to work very good, the only thing that would make it better would be custom buttons :angry:
  • 0

#8 Yourself

Yourself

    The Ultimate Pronoun

  • GMC Elder
  • 7352 posts
  • Version:Unknown

Posted 19 July 2005 - 03:35 PM

I like doing it anyway, because I find having extra variables and scripts you don't need unnecessary. Not criticizing you if you like it that way, but I just don't like to. But I might do it sometime, just not now.


The more code GM has to execute, the slower it will be. Not to mention that each time you define the external function, I'm pretty sure the DLL gets loaded into memory again. Unless you're freeing the memory, I'm fairly sure using these scripts repeatedly will result in a memory leak.

EDIT:
After testing it, I did find a memory leak. The memory usage increases by about 16 KB every second. After only half an hour, the memory usage of the program will have increased by about 28 MB. That's a pretty substantial leak. And those variables aren't needed? I think I could sacrifice the extra 8 B per variable to save myself 16 KB/sec.

Also, I don't like the way you return values from the script. I didn't know GM could return values in that manner and I don't believe it should be used that way. Use the return keyword.
  • 0

#9 Timmo

Timmo

    GMC Member

  • New Member
  • 558 posts
  • Version:GM:HTML5

Posted 19 July 2005 - 03:43 PM

Very good work, and the dll's size is small too, what language you used to make it and what compiler you used, and would you release the source
:angry:
?
  • 0

Posted Image Posted Image


#10 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 19 July 2005 - 04:24 PM

After testing it, I did find a memory leak.  The memory usage increases by about 16 KB every second.  After only half an hour, the memory usage of the program will have increased by about 28 MB.  That's a pretty substantial leak.  And those variables aren't needed?  I think I could sacrifice the extra 8 B per variable to save myself 16 KB/sec.

Also, I don't like the way you return values from the script.  I didn't know GM could return values in that manner and I don't believe it should be used that way.  Use the return keyword.

<{POST_SNAPBACK}>

Yea, I looked at that too just a little while ago. I will upload it again soon with a fixed gm6 version so that shouldn't happen. Thanks for the info Yourself.


Very good work, and the dll's size is small too, what language you used to make it and what compiler you used, and would you release the source
:angry:
?

<{POST_SNAPBACK}>

I used C++ to make it along with the mingW compiler, the default compiler that comes with Dev_Cpp, and no I will not release the source code at the present time. (Yea I know typical)


BZG
  • 0

#11 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 20 July 2005 - 04:32 AM

This is posted a day after my previous post, and therefore not a double post.
[ON TOPIC]
New version released (2.0) with more features.
Direct Download.


BZG
  • 0

#12 Tahnok

Tahnok

    Friendly Madman

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

Posted 20 July 2005 - 06:23 AM

Wow, that was quick! I'm glad you got custom images working, it will add a lot.

Edit: Hey, did you by any chance not test it with two custom images? When I try to create two buttons with custom images, they are always both the first image.

Edited by tahnok100, 20 July 2005 - 07:39 AM.

  • 0

gmc_signature.png


#13 arcooke

arcooke

    GMC Member

  • New Member
  • 1055 posts

Posted 20 July 2005 - 06:41 AM

Oh you suck! LOL

I worked so hard on my toolbar SCRIPT (sig). Now someone finally comes out with a dll. Shucks.

Great job anyhow. It works wonderfully.
  • 0

#14 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 20 July 2005 - 03:40 PM

Wow, that was quick! I'm glad you got custom images working, it will add a lot.

Edit: Hey, did you by any chance not test it with two custom images? When I try to create two buttons with custom images, they are always both the first image.

<{POST_SNAPBACK}>

I'll look into that right now...

EDIT: Fixed...


BZG

Edited by BZGaming, 20 July 2005 - 03:46 PM.

  • 0

#15 Tahnok

Tahnok

    Friendly Madman

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

Posted 21 July 2005 - 03:07 AM

The new version works great! It now has everything I need.
  • 0

gmc_signature.png


#16 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 27 July 2005 - 07:41 PM

Is there a way to delete the Toolbar ingame... I have a drop down list that allows you to either have it on or off and would like to know if this is possible... I just want it to go away.
  • 0

#17 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 27 July 2005 - 10:02 PM

It will be available in the next version which I hope to be released sometime this week, but I have been having trouble with something I have been trying to add... But this can be put in easily. I can also put in something that will hide/show the toolbar, instead of deleting it... it would be more efficient.


BZG
  • 0

#18 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 27 July 2005 - 10:03 PM

Yes, but I also need to delete it in game so that it frees up the memory used as well.
  • 0

#19 Blijbol

Blijbol

    Happy business

  • GMC Member
  • 313 posts

Posted 28 July 2005 - 08:37 AM

This is great! I've been looking around for such a DLL for a long time. Thank you very much!

Blijbol
  • 0
Blijbol OnScore 2 Extend your games with online highscore lists! New version!

Joystick OEM Name DLL Controller name as in Control Panel.
Registry Reader DLL Full read access to the Windows Registry.
Game Appearance Extension Control the game window and taskbar button in detail!
INI Data Structure Extension Much better than GM's INI functions.

Games and software: Slimeball Deluxe (digital arcade volleyball) Blijbol Snake 2 (traditional snake including a Maze Editor) Flood (try to escape from the water) Blijbol Memory (find the pairs) Game Maker Quiz (test your GM knowledge) More at Games.Blijbol.nl and Software.blijbol.nl
My website: Blijbol.nl (English/Dutch) | User of Game Maker 7.0 Pro | Moderator of the Dutch Game Maker Community

#20 Smarttart62

Smarttart62

    designFUSION™

  • New Member
  • 2619 posts

Posted 28 July 2005 - 05:53 PM

Very nice job!
KUDOS ;)
-Steve
  • 0

#21 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 31 July 2005 - 05:01 PM

Will you be updating it soon?
  • 0

#22 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 01 August 2005 - 12:00 AM

Very soon, about tomorrow or tuesday...


BZG
  • 0

#23 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 01 August 2005 - 12:54 AM

You are my hero!
  • 0

#24 Felix en co.

Felix en co.

    GMC Member

  • New Member
  • 15 posts

Posted 01 August 2005 - 04:47 PM

This is a very good script. I have only 1 question.. Is it possible to change the y position of the toolbar. I want to combine it with a menubar, so the toolbar should appear underneath the menubar. If it's possible, i'd like to know how to do it.. Thanks in advance :D
  • 0

#25 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 01 August 2005 - 07:10 PM

I'll see if I can sqeeze that in...

plus, if you want a real winapi menubar, try N_Menu... Search for it


BZG
  • 0

#26 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 02 August 2005 - 05:18 AM

That's the one I use N_Menu

Posted Image

Edited by TheRealMethuselah, 02 August 2005 - 05:21 AM.

  • 0

#27 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 02 August 2005 - 06:07 PM

New Version Out 3.0!

New Features:
1. Show or hide the toolbar
2. Remove the toolbar in game
3. Get whether the toolbar is visible
4. Get whether the toolbar exists
5. Set the y position of the toolbar
6. Get the y position of the toolbar

Upcoming Features:
1. Set and get the x position of the toolbar
2. Tooltips

Direct Download


BZG

Edited by BZGaming, 02 August 2005 - 06:09 PM.

  • 0

#28 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 02 August 2005 - 06:13 PM

Thank you, thank you, thank you!

I'll test it and get back with you!

W00T!

EDIT:
BZGaming Wins!
Flawless Victory... Fatality!

EDIT 2:
Posted Image Posted Image

No problems with running the N_Menu.dll either.

I used a button with a straight line and made it disabled for the Seperators, It works great BZ!

Edited by TheRealMethuselah, 02 August 2005 - 08:42 PM.

  • 0

#29 GStick

GStick

    All Secrets Exposed

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

Posted 03 August 2005 - 06:53 PM

Needs line separators and tooltips. Also, Drop down buttons would be great too. Otherwise, this is a really great dll, and it will be really useful.

-GStick
  • 0

Posted Image
The next generation of Game Maker fighting games? More like the best.
Showdown Academy | Showdown Academy Blog


Check out my new album at last.fm: KatazTrophee

#30 PromaneX

PromaneX

    Fixer of broken web things

  • New Member
  • 489 posts

Posted 03 August 2005 - 06:59 PM

you could make a dropdown button just by calling the built in gm menu things when clicking a certain button
  • 0

#31 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 04 August 2005 - 12:16 AM

You could do that, but it would also be nice for it to actually have a down arrow in the side without having to put it in an image...

So what I will try to have in the next version is:
1. Tooltips
2. Drop down buttons
3. Real Line Separators
4. Dragable Toolbar << Might not work, hasn't so far
5. Possibly choice of using larger buttons as well as small, or custom sized buttons.

That is on my agenda...


BZG
  • 0

#32 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 04 August 2005 - 12:21 AM

Is there any way to use 16 bit or 24 bit color buttons? If not I understand... or maybe just in a Windows XP version.
  • 0

#33 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 04 August 2005 - 03:22 AM

You can use whatever kind of bitmap but only 256 Color, 16 Color, and Monochrome bitmaps can use transparency.


BZG
  • 0

#34 TheRealMethuselah

TheRealMethuselah

    über geek

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

Posted 04 August 2005 - 04:35 AM

Understood.
  • 0

#35 AltiusBimm

AltiusBimm

    GMC Member

  • New Member
  • 7 posts

Posted 05 August 2005 - 06:32 AM

I’ve thought of at least one thing that doesn’t seem to have been mentioned by anybody (though I’m very glad that you've already been told of the need for buttons which drop menus, and buttons with menu arrows next to them): there is a big need for buttons which stay pressed, effectively like checkboxes.

Thanks, this is so fabulous...I think you are the best, if not the first, toolbar maker for GM!!
  • 0

#36 GStick

GStick

    All Secrets Exposed

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

Posted 05 August 2005 - 02:19 PM

I’ve thought of at least one thing that doesn’t seem to have been mentioned by anybody (though I’m very glad that you've already been told of the need for buttons which drop menus, and buttons with menu arrows next to them): there is a big need for buttons which stay pressed, effectively like checkboxes.

Thanks, this is so fabulous...I think you are the best, if not the first, toolbar maker for GM!!

<{POST_SNAPBACK}>


Yes, I started thinking about it too. That's another thing you need to add to your agenda BZGaming.

-GStick
  • 0

Posted Image
The next generation of Game Maker fighting games? More like the best.
Showdown Academy | Showdown Academy Blog


Check out my new album at last.fm: KatazTrophee

#37 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 05 August 2005 - 11:27 PM

Actually a few days ago when I was trying to get tooltips in (which isn't working yet) I thought of that, they are called boolean buttons, and yea, I thought of adding those too, which shouldn't be that hard, all you need is a function to set the button as pressed... which can easily be done...


BZG
  • 0

#38 AltiusBimm

AltiusBimm

    GMC Member

  • New Member
  • 7 posts

Posted 06 September 2005 - 07:54 AM

"Car gone, no note...you could have died—you could have been seen!"

It's been a month yesterday since the last post, i don't think its to much to ask... I ;) your work so far, and I really really really want to encorperate it into my project...but I can't until those new features come! Please keep us apprised even if it's not good news [beg beg beg]
  • 0

#39 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 10 September 2005 - 12:57 AM

I've been held back a bit because of school. But I will work on it when I can.


BZG
  • 0

#40 AltiusBimm

AltiusBimm

    GMC Member

  • New Member
  • 7 posts

Posted 10 September 2005 - 01:02 AM

WOW, after all this time you responded within 15 minutes of me checking the topic...spooky!

Well, the main feature I need is the boolean-button ability. That is really all that's holding me back from using this DLL. (Though tooltips would be handy too.)

Edited by AltiusBimm, 11 September 2005 - 06:25 PM.

  • 0

#41 GStick

GStick

    All Secrets Exposed

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

Posted 22 October 2005 - 10:21 PM

When are you going to update? It's been over a month since the last post... I really need the new version... But also, another thing, is like, spaces, so you can insert blank spaces... and text boxes, for inserting text. Maybe even moving tooldbars around?

-GStick
  • 0

Posted Image
The next generation of Game Maker fighting games? More like the best.
Showdown Academy | Showdown Academy Blog


Check out my new album at last.fm: KatazTrophee

#42 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 22 October 2005 - 11:32 PM

Those aren't toolbars. Those are actually called rebars, where you can add other things, like textboxes, spaces, etc, besides buttons, but they would act the same as with GMW and adding buttons to a window, except it is an internal smaller "window" attached to part of the screen and can become a window if dragged out...

And to answer the question about getting the new version done. I haven't had much time to work on it because of school and having home work. However, I have this upcoming tuesday off and will have time to work on it then. But since I won't have time to add everthing stated before I will try and limit myself to a few things including bar spacers, dropdown buttons, and possibly tooltips if everything works according to plan...


BZG
  • 0

#43 TwilightPrince

TwilightPrince

    GMC Member

  • New Member
  • 185 posts

Posted 20 June 2006 - 04:17 PM

Now it's been several months. If you'd add the functions people have been asking for, it would be nice. :P
  • 0

#44 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 21 June 2006 - 04:01 AM

it's on my list of projects, but my personal life keeps getting in the way.


BZ
  • 0

#45 zzyz

zzyz

    GMC Member

  • New Member
  • 241 posts

Posted 11 October 2006 - 10:40 PM

I realy see potential in this dll, it just needs a few critical things

1. Update, it looks as though you dropped the project due to the lack of updates....

2. "Rebar", I am using the n_menu dll, and it works Great!. It can even make those floating toolbars or as you say "rebars", It would be even better if instead of re-inventing the wheel, you use the handle that n_menu returns and can create a tool bar on that window. That way with both of your dll's and the compatability between them very high, a highly professional look is possible.

Please, Try to have your dll work with N_menu, It would realy help alot of people out to have one dll for windows api stuff.

Thx for what you have now tho :GM5:
zzyz
  • 0

#46 Blijbol

Blijbol

    Happy business

  • GMC Member
  • 313 posts

Posted 11 March 2007 - 09:38 AM

Could anyone tell me whether this DLL works on Windows Vista or not?
  • 0
Blijbol OnScore 2 Extend your games with online highscore lists! New version!

Joystick OEM Name DLL Controller name as in Control Panel.
Registry Reader DLL Full read access to the Windows Registry.
Game Appearance Extension Control the game window and taskbar button in detail!
INI Data Structure Extension Much better than GM's INI functions.

Games and software: Slimeball Deluxe (digital arcade volleyball) Blijbol Snake 2 (traditional snake including a Maze Editor) Flood (try to escape from the water) Blijbol Memory (find the pairs) Game Maker Quiz (test your GM knowledge) More at Games.Blijbol.nl and Software.blijbol.nl
My website: Blijbol.nl (English/Dutch) | User of Game Maker 7.0 Pro | Moderator of the Dutch Game Maker Community

#47 BZGaming

BZGaming

    GMC Member

  • New Member
  • 514 posts

Posted 11 March 2007 - 11:19 PM

Dunno, you can try it, but honestly I don't think so. And in my opinion, it's not worth getting vista yet because it is still incompatible with a lot of things, which is a serious downside to vista right now.

BZ
  • 0

#48 Zipoâ„¢

Zipoâ„¢

    GMC Member

  • New Member
  • 14 posts

Posted 07 August 2007 - 01:41 PM

Good and very helpful :)
  • 0

#49 IamCalle

IamCalle

    GMC Member

  • GMC Member
  • 444 posts

Posted 30 August 2007 - 03:18 PM

Well, about that update.... ::lmao::
  • 0

#50 ipsauron

ipsauron

    GMC Member

  • New Member
  • 44 posts

Posted 10 February 2008 - 10:56 PM

When ever i try to use the example the program stalls... (i got Vista... dont judge me)

Edit: Nevermind it works now!

Edited by ipsauron, 13 February 2008 - 04:05 PM.

  • 0