First, a recommendation, then - an example (see below) to share some of
the simple magic!
Has anyone tried PBWIZ? I have, and LOVE IT. Its a companion library which
has many useful routines. I also recommend PBVISION's PBVlite, which is an
excellent way to easily incorporate mouse support as well as Windows-like
graphical windows. It's very easy to use, and I am gonna use it to make
a generic configuration program for door authors. In PB, of course!
Just wanted to say these two libraries really help, and I suggest them!
For a simple window, here is a routine I use via PBWIZ:
First set up these four variables (predefined as INT each) and then
simply call the routine. This routine will first save the screen
image into scr$, then use the PopWindow of PBWIZ (be sure to $INCLUDE the
pbwiz.inc file, and also $LINL in the PBWIZ.PBL at the beginning of
the source, not shown here, and I actually setup SCREEN.INC so as to
include only what I needed during declarations...)
wx1=7
wy1=4
wx2=78
wy2=23
call wbox
sub wbox public shared
scr$=ScreenSave$ (1,1,25,79)
PopWindow wy1,wx1,wy2,wx2,2,1,30,-2,15,wtitle$
color 1,0
locate wy1-1,wx1:print chr$(181):locate wy1-1,wx1+len(wtitle$)+1:print
hr$(19
locate wy1-1,wx1+1:color 15,1:print wtitle$
view text (wx1+1,wy1+1)-(wx2-1,wy2)
color ,0:locate 1,1
end sub
This routine will perform a growing window to whatever positions you want
on the screen, and also dress up the title bar. Later on, you can
restore the saved screen using a simple restore command, which operates
quickly for a no-frills door. The transparent shadows, which can be
positioned to the left or right side of the window, is REALLY nice.
You can put in the X1,Y1 etc. variables where the ScreenSave$() command is,
to save <4k+/- memory and speed up the process, but the above is simply
a pop-up window used by one of my programs, REPLYCHK, which has a
"system activity window" used for all output during a session run of
examining netmails and packets (FTSC compliant) so that's why the view
text command is there. It also positions the cursor at 1,1 (topleft most
corner of the window, plus one line for spacing/cosmetic beauty)
Yes, this stuff is not as fast as ASM routines, etc., but for those who
want it EASY, this is an approach.
Check it out! It's an easy way to make a simple, nearly full screen
scrolling window with transparent shadows and nice looking title bar.
:-)
-James Goldbloom
--- QuickBBS 2.80 GoldBase (Zeta-1)
---------------
* Origin: AD Message BBS/10th Year Online! (703)998-2958 (1:109/611@FIDONET)
|