Suggestions for BlitzPlus
BlitzPlus Forums/BlitzPlus Programming/Suggestions for BlitzPlus
| ||
There are my suggestions for making BlitzPlus a better language: -Use the gadget height to determine the height of the ComboBox dropdown list. -Add toolbar separators. Only a very simple program would have a toolbar without these. -Improve the open and save file dialogs. PureBasic lets you list multiple file types, and has a command to tell you which file type was selected. -Add a panel style with no background, for OpenGL rendering. -Add multiple statusbar areas. Only a very simple program would have a single statusbar area. -Add columns to the ListBox gadget. -Add an ImageButton gadget, that can have the image changed (for making a color pick button). -Add a drop-down toolbar button style. -Add commands to delete/insert menu items (A "recent files" menu is an example where this would be used). -Add tab key support to switch to the next gadget. -Add a hyperlink gadget. -Add a listbox style where whole row is selected. -Add a window repaint event. -menu icons. -create a window that is hidden. This one is very important, because my application opens a bunch of windows all over the place, and looks very unprofessional. Is this language still being updated? Will any of these features be implemented soon? Thanks. |
| ||
Wow, IBasicPro has everything that I had time to check for, and it can compile DLL's. I compiled a dll and ran it from BlitzPlus, and it was able to return a string without all the PureBasic global variable nonsense. |
| ||
-create a window that is hidden. This one is very important, because my application opens a bunch of windows all over the place, and looks very unprofessional. 1) Get the height of the desktop. 2) Define your windows with a Y coordinate greater than your desktop height. 3) Move them into view when you need them. It works for me. |
| ||
-Add an ImageButton gadget, that can have the image changed (for making a color pick button). You can do this already using a colored panel. I did this in Fontext, but I agree that ImageButtons should be standard. |
| ||
Edit: Realized why my code will not work in most cases. |
| ||
1) Get the height of the desktop. 2) Define your windows with a Y coordinate greater than your desktop height. 3) Move them into view when you need them. It works for me. I tried that. It causes visual glitches on some machines. And it's not like adding a 'hidden' flag is anything hard to do. |
| ||
Also, on all machines, your suggestion will cause the window to appear in the task bar, and then disappear. |
| ||
If you want to create a hidden window can't you just use HideGadget? |
| ||
. |
| ||
Also (with nView I think it is) a user can force windows on to the desktop (regardless of positioning them outside). So the WS_VISIBLE flag should indeed be optional. |
| ||
HideGadget needs the gadget to have already been created. Doing this:window = CreateWindow("Invisible Window", 0,0,100,100) HideGadget window causes the window to flash on the screen depending on when it appears and when redraw kicks in. It's easier to just set the window 'very very small' or 'off-screen'... window=CreateWindow("UltraTiny",0,0,1,1) HideGadget window window2=CreateWindow("OffScreen",-10,-10,10,10) ; then later on ShowGadget window ;and SetGadgetShape window2,0,0,100,100 |
| ||
Beaker, how did you use a panel to make a color button? No matter what order I create them in, a panel placed over a button gets drawn under the button. |
| ||
You can't use a panel as 'drawcanvas' for a standard button to place an image on that button.. what he meant was putting an image on that panel, where that image is an image of a complete button. btw: Canvas all the way.. you can only pre-set a panel by loading an image, you can't create an image and 'upload' it to a panel... (bummer!) Hence: use a canvas. |
| ||
Canvases use DirectX surfaces. DirectX surfaces can get messed up if other DirectX programs are used. So for a professional application, a "home-made" control doesn't cut it. |
| ||
I actually meant using SetPanelColor(), but what CS_TBL said still stands. |
| ||
more commands for B+ toolbar : here http://ed.folio.free.fr/download/B+%20Advance%20Toolbar.jpg |
| ||
Thanks for that. I will add that in. I've actually got a huge set of extended styles, (real) new gadgets, and functions for BlitzPlus. Maybe one day I will wrap them all up in one package. |
| ||
Wow, there are so many missing libs, and even a missing include file in that package. I can't find the ImageListSize() command anywhere. It doesn't seem to be an API function. |
| ||
Here's the status of the wishlist:Request Implementation ================== ================== "Hidden" window style none Combobox height none ToolbarSeparators implemented by BR Open/Save dialogs PureBasic hack OpenGL panels Requires messy hack To detect repaint event Statusbar boxes PureBasic hack ListBox columns PureBasic hack ImageButton gadget WinAPI can be used Dropdown toolbar none Delete/Insert menus none Tab gadget cycle implemented by BR Hyperlink gadget none window repaint event messy hack menu icons none |
| ||
Sorry Aero I forgot to update the DECLS file. I'll fix it |
| ||
Now that Mark has implemented toolbar separators, there is probably no need, but thanks for posting that. Of course, there is a bug in B+ 1.41, and the toolbar separator spacing is additively distorted with each separator. I'm sure they will fix it quickly. |