| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 714
» Latest member: HenryG
» Forum threads: 3,569
» Forum posts: 31,909
Full Statistics
|
| Latest Threads |
QB64PE v 4.4.0
Forum: Announcements
Last Post: madscijr
43 minutes ago
» Replies: 8
» Views: 666
|
4x4 Square Elimination Pu...
Forum: bplus
Last Post: bplus
4 hours ago
» Replies: 12
» Views: 407
|
Container Data Structure
Forum: Utilities
Last Post: bplus
4 hours ago
» Replies: 3
» Views: 121
|
Accretion Disk
Forum: Programs
Last Post: bplus
4 hours ago
» Replies: 11
» Views: 280
|
QBJS v0.10.0 - Release
Forum: QBJS, BAM, and Other BASICs
Last Post: Unseen Machine
Today, 04:14 AM
» Replies: 13
» Views: 1,293
|
Arrays inside Types?
Forum: General Discussion
Last Post: hsiangch_ong
Today, 03:24 AM
» Replies: 47
» Views: 1,409
|
Has anybody experience wi...
Forum: Help Me!
Last Post: Rudy M
Yesterday, 08:47 AM
» Replies: 31
» Views: 1,937
|
Sorting numbers - FiliSor...
Forum: Utilities
Last Post: PhilOfPerth
03-11-2026, 12:48 AM
» Replies: 11
» Views: 341
|
Quick Sort for variable l...
Forum: Utilities
Last Post: SMcNeill
03-10-2026, 03:14 PM
» Replies: 3
» Views: 90
|
Ready for Easter!
Forum: Holiday Code
Last Post: bplus
03-10-2026, 12:15 PM
» Replies: 0
» Views: 58
|
|
|
The GuiTools Framework |
|
Posted by: RhoSigma - 04-20-2022, 04:12 PM - Forum: RhoSigma
- No Replies
|
 |
GuiTools - A graphic UI framework for QB64
GuiTools is a ready to use program template/skeleton to create neat graphic UI applications with QB64, ie. to build your own UI forms you just need to add the desired object definitions into the template and the handler code which shall be called when your objects are triggered, while leaving all other parts of the template as is.- GuiTools should work with all recent QB64-PE (Phoenix Edition) versions and also with the older QB64 (QB64Team) versions. Note that some applications made with GuiTools may have stricter version requirements.
- GuiTools was developed with its main attention at dynamic UI creation, ie. you can easily create, modify and delete objects during runtime on the fly. There is intentionally no Designer tool here, as it would encourage people to build static UIs only. Although static UIs are quite legitimate here and there (and also possible with GuiTools), it would be a waste of GuiTools its capabilities.
- GuiTools can handle multiple forms in one program, each form in its very own independent window on your desktop, but all forms are still controlled in realtime by that one program, hence real multi-windows applications. As shown in the Multi Windows Demo, it's even possible to have interactions between several forms windows.
- GuiTools does already include a huge amount of useful functions, ready for use within your handler code. The range goes from general file and string handling functions to specialized functions like image processing and packing/unpacking. The inbuilt MessageBox and FileOpenDialog do perfectly fit into the GuiTools look and feel.
- GuiTools its UIs can be customized by every local user. Using the provided Preferences Editor, users can easily change colors, wallpapers and patterns of the GuiTools UIs without the need to recompile any applications.
Note that GuiTools does not implement the usual Windows like look and feel, but is inspired by the AmigaOS versions 2.0 to 3.9, which have a simple yet elegant look (see pictures below).
Release v0.20
Below the GuiTools Framework as of Aug/25 (Windows only (Linux/Mac may work with Wine)). For the full list of changes see the docs\ReleaseNotes.txt file in the archive.
Using OpenPGP, GnuPG or Gpg4Win you may check the provided archive signature against my GPG-Key to verifiy the authenticity of the archive. Inside the archive you'll also find a *.md5 file which holds the MD5 hashes for all other files in the archive. These can be checked using the md5sum GNU Core Utility or in case of Gpg4Win very easy by right clicking the file and then choose "Validate checksums" from the installed shell extension context menu.
QB64GuiTools.7z (Size: 19.04 MB / Downloads: 89)
QB64GuiTools.7z.sig (Size: 566 bytes / Downloads: 89)
Make sure to move the extracted QB64GuiTools folder with its entire contents into your QB64 installation folder. If you're new to GuiTools, then please also read the GuiTools-Info.html file in the main folder for a short introduction of the project structure.
Some examples:
![[Image: GTPrefsEditor.png]](https://rhosigma-cw.net/liste/GTPrefsEditor.png)
![[Image: LogicTrainer.png]](https://rhosigma-cw.net/liste/LogicTrainer.png)
![[Image: MakeDATA.png]](https://rhosigma-cw.net/liste/MakeDATA.png)
And even multi-window apps:
|
|
|
| Screen Scrolling Commands |
|
Posted by: SMcNeill - 04-20-2022, 02:39 AM - Forum: SMcNeill
- No Replies
|
 |
A simple set of two commands which can scroll the screen up or down for us, regardless of what screen mode we decide to use it in. Use the "U" and "D" keys in the demo to see how it works. 
Code: (Select All) SCREEN _NEWIMAGE(640, 480, 32)
PRINT "This is a test of the Steve Scrolling System"
PRINT "This is only a test."
FOR i = 1 TO 15: PRINT i: NEXT
DO
_LIMIT 30
a$ = UCASE$(INKEY$)
IF a$ = "U" THEN ScrollUp
IF a$ = "D" THEN ScrollDown
LOOP UNTIL a$ = CHR$(27)
SUB ScrollUp
$CHECKING:OFF
DIM m AS _MEM
m = _MEMIMAGE(0)
p = _PIXELSIZE
IF p = 0 THEN w = _WIDTH * 2 ELSE w = _FONTHEIGHT * _WIDTH * p
t$ = SPACE$(m.SIZE - w)
_MEMGET m, m.OFFSET + w, t$
CLS
_MEMPUT m, m.OFFSET, t$
_MEMFREE m
$CHECKING:ON
END SUB
SUB ScrollDown
$CHECKING:OFF
DIM m AS _MEM
m = _MEMIMAGE(0)
p = _PIXELSIZE
IF p = 0 THEN w = _WIDTH * 2 ELSE w = _FONTHEIGHT * _WIDTH * p
t$ = SPACE$(m.SIZE - w)
_MEMGET m, m.OFFSET, t$
CLS
_MEMPUT m, m.OFFSET + w, t$
_MEMFREE m
$CHECKING:ON
END SUB
|
|
|
|