WARNING WARNING WARNING!
-----------------------
User Scripts Warning - If creating and assigning a script to a button, then full caution should be taken to avoid unintended consequences. If not careful enough, text could be deleted or changed and even files effected (i.e. deleted, moved, etc), etc. I know the above through scary personal experience. Despite all caution though, things can happen, so I have added an emergency Killswitch floating button, that appears top right of screen whenever a user script is run, closing in a seemless manner when the script exits. To avoid the 'Killswitch' floating button running at all, just put ;#nokill at the top of the user script commands. This is sometimes needed to prevent timing clashes etc. Another way to prevent timing clashes etc, is to put a Sleep(500) or a bit more, near the start of your script code.

Program Information
-------------------
Be aware, that while I personally use this toolbar for Scite (for which it is automatically optimised), it is also designed to be compatible with other programs - though by no means has this been fully tested!

Also be aware, that there is another toolbar program available at the Forum, that has been specifically created for Scite - Scite Toolbar

I have tried the Scite Toolbar, which is perhaps better optimised for Scite than my own program - especially in the memory use department.
I use my own program instead though, because of specific things I wanted a Scite toolbar to do, which would perhaps have been very difficult for me to implement with the Scite Toolbar. My programming is quite simple and direct compared to that in the Scite Toolbar - this may mean it doesn't work as effectively ... I'll let you be the decider on that.

I'm afraid that I've always seen programming as a means to an end, so what I do may offend some puritans, I offer no apologies, to me simple is best. I've done no courses, only dabbled with DOS, HTML, VB, AutoIt, etc for many years. I quite recently read a forum discourse on using DIM, the result being that I learned that I'm in some eyes a bad boy - this behaviour may change now that I know more, but is typical I'm sure, of how most people get into programming (especially males - who needs instructions ... that's what you look at as a last resort, when all else fails, but you rarely admit to it ... it's a bit like using a map, we'd rather bluff our way there ... it feels like more of an achievement). I'm quite proud of my programming skills (limited as they are), everyone I know thinks I'm some sort of Bill Gates, but I ain't no rocket scientist. I don't profess to be anything other than a backyard programmer, not as clever as some, but not stupid either ... though we all have our moments. I admit that I love a good programming challenge, but I can live without the headaches - sleep is a precious and often rare commodity as it is.

Even though I didn't use any code from the Scite Toolbar, I believe I may have drawn inspiration from some elements of it. But in truth I was looking for a way to add options to Scite, not necessarily as a button, but certainly as a menu item. In my search I was directed to the Scite Toolbar, which seemed very promising, but in the end proved not to be exactly what I wanted.

My toolbar program is a result of that commonest feeling of all for programmers - "Well then ... I'll just have to make it myself!".
Which I'm sure you can all relate to!

Anyone is welcome to modify my code as they see fit, just give me a plug if you use any of my ideas or specific sections of my code - in other words, give credit where credit is due.

If you want to give thanks or encouragement, ideas or code improvements, then please feel welcome!

A lot of what I saw in the Scite Toolbar code, was beyond my current programming experience, so after some brief but minor and successful modifications, and not being entirely happy with the limits as I saw them, I decided to leave well alone and start at the beginning and go my own way. Anyone who wants to add the specific differences (between my toolbar and the Scite Toolbar) to the Scite Toolbar, is quite welcome ... I'll only give you admiration and thanks if you succeed. However, if anyone wants to add the same type of memory optimisations to my program, them I'll be eternally grateful.

Thanks to Mhz & Uten for advice about running a script from a compiled script!

Thanks to Jon & team once again, especially for the great helpfile and for making this all possible, etc!

A shortlist of button features -
1) Start external programs - such as the Calculator, Character Map, etc.
2) Many clipboard options - copy, paste, clear, add to, increment, clear, case & paste a stored item (such as code or a copyright symbol, etc).
3) Some script testing & storing.
4) SendKey options - start Koda, GuiBuilder, Help, Bookmarks, Compile, Beta Run, Window Info Tool, etc.
5) Increase/decrease display of buttons and precise toolbar positioning.
6) Specific icon assignment and tooltips for buttons.
7) Button blanking & smart editing.
8) Case toggling (as a clipboard option).
9) Registry association with the specific program (i.e. Scite) and file extension (i.e. au3).
10) Create a special desktop shortcut (independent of the registry mod).
11) etc.
Also comes with several icons to match many of the above.

Example ini files supplied as a guide to many of the various implementations.

Current Limitations -
1) Total of 40 assignable buttons (20 x 20), displayed as 2 rows of 20.
2) Only 1 divider between the 40 buttons and 4 permanent program buttons - this will probably be increased in a future version, for every bank of 2 buttons - though this would lessen the number of buttons.
3) Buttons are displayed or hidden in groups of two, so any unassigned buttons, can currently only be blanked - not disabled or deleted.
4) The toolbar can only be repositioned, by typing in precise coordinates.
5) In some situations, because of the topmost feature, some additional open windows may be overlayed by the toolbar - however the toolbar does close & minimise with its associated program (i.e. Scite).
6) Uses a fair amount of processing time, so memory could be better optimised - at times you will see slight toolbar display issues, due to the way it has been implemented - mostly because I wanted it to close and minimise with its associated program.
7) Cannot dynamically display a blanked button if it had been assigned to an icon previously, without restarting the toolbar (next start it's ok).
8) Currently relies on making the program (i.e. Scite) window active, to copy selected, paste text and send keys, etc - this of course relates to the slight display issues.
9) Sometimes the toolbar does not minimise when it should - possibly when no other window is visible (may be fixed when I get the time).
10) etc.

Happy programming all,
TheSaint

P.S. If encouraged, I may list all the inbuilt features and create a user's guide - which I'm sure the more enterprising of you probably don't need, but never-the-less.

