What is new in FoxPro for Windows 2.6.1


@ ... TO draws lines to arbitrary direction with unlimited pen width and raster opmodes (INVERT, XOR, MERGE ... )

Greatly improves FoxPro's ability to serve as a frontend graphing tool for scientific, financial and educational purposes.
Combined with strong database support makes FPW 2.6.1 a true all-in-one solution.

   STYLE "/" activates slanted lines drawing
   STYLE "T", "U", "V" ... "Z" selects raster opmode
Implemented natively, no external FLL libraries or WinAPI calls required.

code sample (test_01.prg):


POPUPs, COMBOs and LISTs may include user defined pictures, FocusRect removed, Up/Dn arrows bitmaps changed

This feature has been uncovered after 20 years of ignorance.
Pictures width and height aren't limited.
Great for implementing user friendly menus, treeview lists and comboboxes with hint icons.

   At the end of the   PROMPT   clause place formatting option   '\:'   followed by   FILENAME.BMP   (relative path not available by now)
Implemented natively, no external FLL libraries or WinAPI calls required.

code sample (test_02.prg):


@ ... BOX is capable to display 3D frames with standard, sunken, flat, outlined and frameonly styles

Featured FORMs and MESSAGEBOXes could be drawn with few lines of code.
Ideal for building full screen layouts, outline @ GET/EDIT input fields and so on.
VFP's GRIDs behaviour could be easily reproduced with additional inkey(), SCROLL and @TO...STYLE "U" commands.

   An updated @...BOX command syntax:
      @ row,col,rowZ,colZ BOX [CHR(style)]
          where single character style argument is:

  •     [] - 3D-normal (BTNFACE #D4D0C8 fill color used)
  •     CHR(0) - flat
  •     CHR(1) - 3D-pressed
  •     CHR(2) - 3D-normal (same as with no args)
  •     CHR(3) - 3D-inverted
  •     CHR(64+...) - focused (outlined)
  •     CHR(128+..) - frame only (inners remain untouched)
      Implemented natively, no external FLL libraries or WinAPI calls required.

code sample (test_03.prg):


Ubuntu 'Ambiance' theme applied to user defined TITLE/HALFHEIGHT windows

I made my choice in favor of Linux based distro theme.   Two great products meets together here...
Because of ...you know... "2.6.1" reminds me one of the well known stable Linux kernel version.  

Ask  Hetzenwerke  if you want to run FoxPro under SCO UNIX / Linux OS.
Implemented natively, no external FLL libraries or WinAPI calls required.

code sample (test_04.prg):


redesigned @ ... PUSH buttons keep requested width and may be filled with custom colors

Gives better control over PUSH buttons layout.
Color highlight may emphasize control's target action (yes/no, ins/del...).

   Color pair #9 sets foreground/background colors of the PUSH button control.
Implemented natively, no external FLL libraries or WinAPI calls required.

code sample (test_05.prg):


@ ... PUSH BMP buttons have images stretched, frame not visible when image background is not white

True image maps are available, popped frames and focus rects aren't visible anymore.

   To reveal standart button 3D frame apply white surrounding frame on the image.

code sample (test_06.prg):


@ ... CHECK/RADIO controls always have transparent 3D style

Ugly looking 2D CHECK/RADIO controls were a shame of the standard FPW 2.6 engine.
Problem is solved from now on.
Leading/trailing spaces aren't removed from PUSH/POPUP/LIST/COMBO/CHECK/RADIO prompts, so treeview like menus and right aligned captions of controls are available.

code sample (test_07.prg):


@ ... SPINNER and COMBO controls black frame removed
@ ... EDIT field not outlined anymore
SCROLLBARs polished

Makes control's appearance more predictable and less aggressive.
It is up to programmer to add / omit outlined frames (see @...BOX details).
Frameless controls can be seamlessly embedded into grids and likes.

code sample (test_08.prg):


@ ... MENU and POPUP borders, headers and footers have 3D style by default, BTNFACE color RGB(212,208,200) used as default, frames color softened

Makes context menu POPUP creation a simple task, especially with @...MENU command.

   Please note: 3D style ([border] DOUBLE) is set globally, so [border] SINGLE is no more available for common control objects.

code sample (test_09.prg):


@ ... FILL no more requires preceding @ CLEAR to succeed

@ FILL works now as it was stated in the documentation and by the same way as in the previous FoxPro Win/DOS versions.
I know, everyone use @ TO with inner FILL option as a replacement, but why settle for workarounds ?

code sample (test_10.prg):


WAIT WINDOW tries to look like floating ToolTip reminder

As simple as it could be...

code sample (test_11.prg):
 


RGB values behind standard COLOR PAIRs softened

Color pairs softened enough to be used as is in the most cases without RGB() replacement calls.

   Technical details:
        - values N/N [x00] weren't changed
        - normal values F/B [x00,x80] raised to [x60,xE0] correspondingly
        - high values F+/B* [x00 < ... < xFF] raised to [xE0]
        - special case N+/N* [x3F] converted to fixed RGB[xD4,xD0,xC8] Win BTNFACE value

code sample (test_12.prg):


default Window/DIALOGs font set to 'MS Shell Dlg'/'Tahoma',8,
enlarged COMMAND window relocated to bottom right and got 'Courier',10 font

Some features available in IDE environment only.

   Some color SCHEMEs were unlocked (undocumented):
        4 - user defined MENUs/POPUPs
        5 - COMMAND and Editors windows
        13 - SYSMENU
        14 - DIALOGs and BROWSE windows

code sample (test_13.prg):
 


[Ctrl+]MOUSEWHEEL captured and translated into standard [Up]/Dn keys
DOS-437 and DOS-850 keyboard maps replaced with cyrillic DOS-866 and WIN-1251
MEMLIMIT=80,4096,16384 / MVCOUNT=2048 are set as default values

Handy mouseWheel navigation is enabled for all MENU / BROWSE / EDITORs windows.
Because of WinAPI 16bit restrictions, zDelta=Up/Dn (wParam highword) part of the WM_MOUSEWHEEL message gets zeroed by OS.
To translate MouseWheel into upward keycode, user should keep CTRL key pressed.

Russian users can take advantage of the Win-1251 and DOS-866 keyboard maps embedded.
The presence of the FOXPRO.INT isn't required anymore.

With MEMLIMIT and MVCOUNT values preset there is less to be occupied with CONFIG.FPW settings.

Standalone EXE make utility

Standalone EXE make utility itself has been made by merging FOXW2601.ESL Support Library 2.6.1
and precompiled compact LINKER.EXE into a single executable.

Creation dialog is capable to set additional properties of the output distribution file:

   user selected icon (32x32, 16 colors)
   normal / minimized / maximized startup mode
   registration splash logo removal
   readonly attributes for network deployment
Download link (with source code):     FPW 2.6.1 Linker [1MB]  

Questions & Answers

Q:   I've copied FOXW2601.ESL to the working directory, but nothing extraordinary happened with my EXEs at runtime.

A:   Rename 'FOXW2601.ESL' to 'FOXW2600.ESL'.
      This is a default runtime support library name used by compiled FoxPro EXE modules.

Q:  

A:  

*