A_CHOICE() Psuedo function to simplify FT_ACH2TB() FT_ACH2TB() Replace ACHOICE() with a Tbrowse object & multiple features. FT_ADDER() Pop up a simple calculator FT_BLINK() Display a blinking message on the screen FT_BRWSWHL() Browse an indexed database limited to a while condition FT_CLRSEL() User Selectable Colour Routine FT_DISPMSG() Display a message and optionally waits for a keypress FT_FILL() Declare menu options for FT_MENU1() FT_MENU1() Pulldown menu system FT_MENU2() Vertical lightbar menu FT_MENUTO() Execute light bar menu using prompts created with @...PROMPT FT_PENDING() Display same-line pending messages after a wait. FT_PICKDAY() Picklist of days of week FT_PROMPT() Define a menu item for use with FT_MenuTo() FT_SLEEP() Wait for a specified amount of time FT_XBOX() Display a self-sizing message box and message
Tag Archives: FT_ClrSel()
FT_CLRSEL
FT_CLRSEL() User Selectable Colour Routine Syntax FT_ClrSel( <aClrData>, [ <lClrMode> ], [ <cTestChr> ] -> aClrData Arguments <aClrData> is an array of subarrays, with each subarray containing information about the colour settings. The subarray has the following structure: [1] cName is the name of this colour setting i.e. "Pick List" Maximum length is 20 bytes [2] cClrStr is the current colour string Default is "W/N,N/W,N/N,N/N,N/W" If Setting type is "M" (Menu) the colours are... 1. Prompt Colour 2. Message Colour 3. HotKey Colour 4. LightBar Colour 5. LightBar HotKey Colour Note: While there are many ways to code the individual colour combinations, they should be in the same format that gets returned from SETCOLOR(), so the defaults can be found in the colour palette. foreground [+] / background [*] i.e. "GR+/BG*, N/W*, N+/N, , W/N" [3] cType is the type of colour setting Default is "W" (Window) T = Title Only 1 colour element D = Desktop Background colour and character M = Menu For FT_Menuto() style menus W = Window Windows with radio buttons G = Get For use with @ SAY... B = Browse For tBrowse() and *dbEdit() A = aChoice Pick-lists etc... W/G/B/A are functionally the same but will provide a more appropriate test display. [4] cFillChar is the character (for desktop background only) Default is CHR(177) "##############" <lClrMode> .T. use colour palette .F. use monochrome palette Default is the ISCOLOR() setting <cTestChr> 2 Byte character string for colour test display Default is the CHR(254)+CHR(254) "......" Returns An array identical to the one passed, with new selected colours Description This function allows users to select their own colour combinations for all the different types of screen I/O in a typical application. This facilitates an easy implementation of Ted Means' replacement of the @..PROMPT/MENU TO found in the NanForum Toolkit. If you are not using FT_MENUTO(), you can specify "A" for setting type and have a normal colour string returned. Examples LOCAL aClrs := {} LOCAL lColour := ISCOLOR() LOCAL cChr := CHR(254) + CHR(254) SET SCOREBOARD Off SETBLINK( .F. ) // Allow bright backgrounds *.... a typical application might have the following different settings * normally these would be stored in a .dbf/.dbv aClrs := {; { "Desktop", "N/BG", "D", "#" }, ; { "Title", "N/W", "T" }, ; { "Top Menu", "N/BG,N/W,W+/BG,W+/N,GR+/N", "M" }, ; { "Sub Menu", "W+/N*,GR+/N*,GR+/N*,W+/R,G+/R","M" }, ; { "Standard Gets", "W/B, W+/N,,, W/N", "G" }, ; { "Nested Gets", "N/BG, W+/N,,, W/N", "G" }, ; { "Help", "N/G, W+/N,,, W/N", "W" }, ; { "Error Messages", "W+/R*,N/GR*,,,N/R*", "W" }, ; { "Database Query", "N/BG, N/GR*,,,N+/BG", "B" }, ; { "Pick List", "N/GR*,W+/B,,, BG/GR*", "A" } ; } aClrs := FT_ClrSel( aClrs, lColour, cChr ) Source: CLRSEL.PRG Author: Dave Adams