bb.donnay-software.com

Donnay Software Web Forums
It is currently Thu Jun 04, 2020 10:23 pm

All times are UTC - 7 hours




Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Thu Aug 11, 2016 8:42 am 
Offline

Joined: Thu Jan 28, 2010 2:30 pm
Posts: 35
Here is a touchscreen keypad with DCPUSHBUTTONS and 2 native resolutions.

If the screen has a resolution width <= 1024, the button size is 50x50 pixel. 80x80 pixel are given, if the resolution width is >= 1400 pixel. For resolutions between > 1024 and < 1400 the program uses 50x50 pixel with a scaling factor. This program is written for german language, but it is not very complicated to change to another language.

Screenshot with 50x50 pixel buttons:

Image

Screenshot with 80x80 pixel buttons:

Image

Have fun :-)

Code:
//////////////////////////////////////////////////////////////////////
//
//  KBGUI.PRG
//
//  Made by:
//      Leon Berger, 2016
//
//  Inhalt:
//      Touchscreen Keypad
//
//////////////////////////////////////////////////////////////////////

#include 'inkey.ch'
#include 'dccolor.ch'
#include 'appevent.ch'
#include 'gra.ch'
#include 'xbp.ch'
#include 'dcmsg.ch'
#include 'dcdialog.ch'
#INCLUDE "nls.CH"

#define COLOR_RED        GraMakeRGBColor( { 255,   0,   0 } )
#define COLOR_GREEN      GraMakeRGBColor( {   0, 255,   0 } )
#define COLOR_BLUE       GraMakeRGBColor( {   0,   0, 255 } )
#define COLOR_DARKBLUE   GraMakeRGBColor( {   0,   0, 127 } )
#define COLOR_YELLOW     GraMakeRGBColor( { 255, 255,   0 } )
#define COLOR_WHITE      GraMakeRGBColor( { 255, 255, 255 } )
#define COLOR_BLACK      GraMakeRGBColor( {   0,   0,   0 } )
#define COLOR_PALEGRAY   GraMakeRGBColor( { 192, 192, 192 } )
#define COLOR_ORANGE     GraMakeRGBColor( { 253, 120,  41 } )
#define COLOR_LTORANGE   GraMakeRGBColor( { 250, 205,   0 } )
#define COLOR_LTBLUE     GraMakeRGBColor( {  30, 187, 255 } )
#define COLOR_SILVER     GraMakeRGBColor( { 192, 192, 192 } )

MEMVAR lCaps, lAltGr, lFirstTime

FUNCTION MAIN( cValue )
    cValue := KeyPadGui( cValue, {"Header Line 1", "Header Line 2"} )
    DCMSGBOX cValue BUTTONS {"Ok"} FONT "14.Arial"
RETURN cValue


FUNCTION KeyPadGui(cValue, aText)
   LOCAL GetList := {}, GetOptions, cSaveValue, oCancelButton, ;
         cFont, lStatus, nZeile := 0, nLine := 0
   LOCAL nWidth := AppDeskTop():currentSize()[1]
   LOCAL nButtonWidth  := if(nWidth >= 1400, 80, 50)
   LOCAL nButtonHeight := if(nWidth >= 1400, 80, 50)
   LOCAL nSpaceW       := 10
   LOCAL nSpaceH       := 10
   LOCAL nSpaceFront   := if(nWidth >= 1400, 30, 15)
   LOCAL aScale[6]

   PRIVATE lFirstTime := .t.
   PRIVATE lCaps
   PRIVATE lAltGr

   DEFAULT cValue := space(30)
   DEFAULT aText := {}
   DEFAULT lCaps := .f.
   DEFAULT lAltGr := .f.

   SetLocale(NLS_ICURRENCYEURO,"1")
   SetLocale(NLS_SCURRENCY,chr(213))
   DC_LangSet(DCLANG_GERMAN)

   cFont := '12.Arial Bold'

   cSaveValue := cValue

   for nZeile := 1 to len(aText)
      nLine += 1
   next

   DO CASE
   CASE nWidth <= 1024
      aScale[1] := 1
      aScale[2] := 1
      aScale[3] := 1
      aScale[4] := 1
      aScale[5] := .f.
      aScale[6] := .f.
   CASE nWidth <= 1100
      aScale[1] := 1.05
      aScale[2] := 1.05
      aScale[3] := 1.05
      aScale[4] := 1.05
      aScale[5] := .t.
      aScale[6] := .f.
   CASE nWidth <= 1200
      aScale[1] := 1.1
      aScale[2] := 1.1
      aScale[3] := 1.1
      aScale[4] := 1.1
      aScale[5] := .t.
      aScale[6] := .f.
   CASE nWidth <= 1300
      aScale[1] := 1.15
      aScale[2] := 1.15
      aScale[3] := 1.15
      aScale[4] := 1.15
      aScale[5] := .t.
      aScale[6] := .f.
   OTHERWISE
      aScale[1] := 1
      aScale[2] := 1
      aScale[3] := 1
      aScale[4] := 1
      aScale[5] := .f.
      aScale[6] := .f.
   ENDCASE

   do case
   case nLine = 1
      @  -2, 0 DCSAY padr(atext[1],60);
         SAYFONT "15.Verdana";
         SAYSIZE 0;
         SAYCOLOR {||{COLOR_DARKBLUE,GRA_CLR_BACKGROUND}}
   case nLine = 2
      @  -3.5, 0 DCSAY padr(atext[1],60);
         SAYFONT "15.Verdana";
         SAYSIZE 0;
         SAYCOLOR {||{COLOR_DARKBLUE,GRA_CLR_BACKGROUND}}
      @  -2, 0 DCSAY padr(atext[2],60);
         SAYFONT "15.Verdana";
         SAYSIZE 0;
         SAYCOLOR {||{COLOR_DARKBLUE,GRA_CLR_BACKGROUND}}
   endcase

   @  -10, 0 DCGET cValue;
      GETFONT "20.Verdana";
      PIXEL ;
      GETSIZE nButtonWidth*10,36 ;
      GETCOLOR {||{GRA_CLR_BLUE,GRA_CLR_WHITE}};
      EDITPROTECT {||.t.};
      ID 'ACCUM'

   @  50,  0 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"!","1") } FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('1',"!",@cValue,GetList)} ;
      ACCELKEY Asc('1')

   @  50, 0+(nButtonWidth+nSpaceH)*1 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"@","2") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('2',"@",@cValue,GetList)} ;
      ACCELKEY Asc('2')

   // Euro sign
   @  50, 0+(nButtonWidth+nSpaceH)*2 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,chr(213),"3") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('3',chr(213),@cValue,GetList)} ;
      ACCELKEY Asc('3')

   @  50,0+(nButtonWidth+nSpaceH)*3 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"$","4") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('4',"$",@cValue,GetList)} ;
      ACCELKEY Asc('4')

   @  50,0+(nButtonWidth+nSpaceH)*4 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"%","5") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('5',"%",@cValue,GetList)} ;
      ACCELKEY Asc('5')

   @  50,0+(nButtonWidth+nSpaceH)*5 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"&&","6") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('6',"&",@cValue,GetList)} ;
      ACCELKEY Asc('6')

   @  50,0+(nButtonWidth+nSpaceH)*6 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"/","7") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('7',"/",@cValue,GetList)} ;
      ACCELKEY Asc('7');
      HIDE {|| lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*6 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"{","{") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('{',"{",@cValue,GetList)} ;
      ACCELKEY Asc('7');
      HIDE {|| !lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*7 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"(","8") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('8',"(",@cValue,GetList)} ;
      ACCELKEY Asc('8');
      HIDE {|| lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*7 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"[","[") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('[',"[",@cValue,GetList)} ;
      ACCELKEY Asc('8');
      HIDE {|| !lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*8 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,")","9") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('9',")",@cValue,GetList)} ;
      ACCELKEY Asc('9');
      HIDE {|| lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*8 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"]","]") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum(']',"]",@cValue,GetList)} ;
      ACCELKEY Asc('9');
      HIDE {|| !lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*9 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"=","0") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('0',"=",@cValue,GetList)} ;
      ACCELKEY Asc('0');
      HIDE {|| lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*9 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"}","}") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('}',"}",@cValue,GetList)} ;
      ACCELKEY Asc('0');
      HIDE {|| !lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*10 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"?","á") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('á',"?",@cValue,GetList)} ;
      ACCELKEY Asc('á');
      HIDE {|| lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*10 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"\","\") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('\',"\",@cValue,GetList)} ;
      ACCELKEY Asc('á');
      HIDE {|| !lAltGr}

   @  50,0+(nButtonWidth+nSpaceH)*11 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"`","'") } ;
      FONT cFont SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("'","`",@cValue,GetList)} ;
      ACCELKEY Asc('/')

   @  50,0+(nButtonWidth+nSpaceH)*12 ;
      DCPUSHBUTTON CAPTION '<- Back' FONT cFont ;
      SIZE nButtonWidth*2,nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||cValue := Substr(cValue,1,Len(cValue)-1),Accum('','',@cValue,GetList)} ;
      ACCELKEY 8;
      ID "BACK";
      WHEN {|| (len(trim(cValue)) # 0 )} ;

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"Q","q") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('q',"Q",@cValue,GetList)} ;
      ACCELKEY Asc("q")

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*1) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"W","w") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('w','W',@cValue,GetList)} ;
      ACCELKEY Asc('w')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*2) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"E","e") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('e','E',@cValue,GetList)} ;
      ACCELKEY Asc('e')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*3) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"R","r") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('r','R',@cValue,GetList)} ;
      ACCELKEY Asc('r')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*4) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"T","t") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('t','T',@cValue,GetList)} ;
      ACCELKEY Asc('t')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*5) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"Z","z") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('z','Z',@cValue,GetList)} ;
      ACCELKEY Asc('z')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*6) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"U","u") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('u','U',@cValue,GetList)} ;
      ACCELKEY Asc('u')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*7) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"I","i") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('i','I',@cValue,GetList)} ;
      ACCELKEY Asc('i')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*8) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"O","o") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('o','O',@cValue,GetList)} ;
      ACCELKEY Asc('o')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*9)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"P","p") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('p','P',@cValue,GetList)} ;
      ACCELKEY Asc('p')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*10) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"š","") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('','š',@cValue,GetList)} ;
      ACCELKEY Asc('')

   @ 50+(nButtonHeight+nSpaceW),0+nSpaceFront+((nButtonWidth+nSpaceW)*11) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"*","+") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('+','*',@cValue,GetList)} ;
      ACCELKEY Asc('+')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2) ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"A","a") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('a','A',@cValue,GetList)} ;
      ACCELKEY Asc('a')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*1)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"S","s") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('s','S',@cValue,GetList)} ;
      ACCELKEY Asc('s')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*2)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"D","d") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('d','D',@cValue,GetList)} ;
      ACCELKEY Asc('d')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*3)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"F","f") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('f','F',@cValue,GetList)} ;
      ACCELKEY Asc('f')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*4)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"G","g") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('g','G',@cValue,GetList)} ;
      ACCELKEY Asc('g')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*5)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"H","h") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('h','H',@cValue,GetList)} ;
      ACCELKEY Asc('h')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*6)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"J","j") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('j','J',@cValue,GetList)} ;
      ACCELKEY Asc('j')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*7)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"K","k") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('k','K',@cValue,GetList)} ;
      ACCELKEY Asc('k')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*8)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"L","l") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('l','L',@cValue,GetList)} ;
      ACCELKEY Asc('l')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*9)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"™","”") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('”','™',@cValue,GetList)} ;
      ACCELKEY Asc('”')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*10)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"Ž","„") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum('„','Ž',@cValue,GetList)} ;
      ACCELKEY Asc('„')

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*11)  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"`","#") } FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("`","#",@cValue,GetList)} ;
      ACCELKEY Asc('#')

   @ 50+((nButtonHeight+nSpaceW)*3),0 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,">","<") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("<",'>',@cValue,GetList)} ;
      ACCELKEY Asc('<')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*1  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"Y","y") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("y",'Y',@cValue,GetList)} ;
      ACCELKEY Asc('y')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*2  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"X","x") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("x",'X',@cValue,GetList)} ;
      ACCELKEY Asc('x')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*3  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"C","c") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("c",'C',@cValue,GetList)} ;
      ACCELKEY Asc('c')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*4  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"V","v") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("v",'V',@cValue,GetList)} ;
      ACCELKEY Asc('v')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*5  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"B","b") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("b",'B',@cValue,GetList)} ;
      ACCELKEY Asc('b')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*6  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"N","n") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("n",'N',@cValue,GetList)} ;
      ACCELKEY Asc('n')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*7   ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"M","m") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("m",'M',@cValue,GetList)} ;
      ACCELKEY Asc('m')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*8 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,",",",") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum(",",";",@cValue,GetList)} ;
      ACCELKEY Asc(',')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*9  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,":",".") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "14.Verdana";
      ACTION {||Accum(".",":",@cValue,GetList)} ;
      ACCELKEY Asc('.')

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*10 ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"_","-") };
       FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum("-","_",@cValue,GetList)} ;
      ACCELKEY Asc('-')

   @ 50+((nButtonHeight+nSpaceW)*4),0+(nButtonWidth+nSpaceW)*3 ;
      DCPUSHBUTTON CAPTION "Space" ;
      FONT cFont ;
      SIZE (nButtonWidth*6)+(nSpaceW*5),nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_LTBLUE;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||Accum(" "," ",@cValue,GetList) } ;
      ACCELKEY Asc(' ')

   @ 50+((nButtonHeight+nSpaceW)*4),0+(nButtonWidth+nSpaceW)*2  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"CAPS;ON", "caps;off") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_YELLOW;
      MOUSECOLOR COLOR_BLACK, COLOR_YELLOW;
      CLICKCOLOR COLOR_BLUE, COLOR_YELLOW;
      SELECTCOLOR COLOR_BLUE, COLOR_YELLOW;
      BORDERCOLOR {255,153, 51};
      FONT "14.Verdana";
      ACTION {||Caps(@lCaps),DC_GetRefresh(GetList)} ;
      ACCELKEY xbeK_CAPS_LOCK;
      HIDE {|| lCaps }

   @ 50+((nButtonHeight+nSpaceW)*4),0+(nButtonWidth+nSpaceW)*2  ;
      DCPUSHBUTTON CAPTION {||iif( lCaps,"CAPS;ON", "caps;off") } ;
      FONT cFont ;
      SIZE nButtonWidth, nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_GREEN ;
      MOUSECOLOR COLOR_BLACK, COLOR_GREEN ;
      CLICKCOLOR COLOR_BLACK, COLOR_GREEN ;
      SELECTCOLOR COLOR_BLACK, COLOR_GREEN ;
      BORDERCOLOR {255,153, 51};
      FONT "14.Verdana";
      ACTION {||Caps(@lCaps),DC_GetRefresh(GetList)} ;
      ACCELKEY xbeK_CAPS_LOCK;
      HIDE {|| !lCaps }

   @ 50+((nButtonHeight+nSpaceW)*4),0+(nButtonWidth+nSpaceW)*9  ;
      DCPUSHBUTTON CAPTION {||iif( lAltGr,"ALT-GR;ON", "alt-gr;off") } ;
      FONT cFont ;
      SIZE nButtonWidth+(nSpaceW*3), nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_YELLOW;
      MOUSECOLOR COLOR_BLACK, COLOR_YELLOW;
      CLICKCOLOR COLOR_BLUE, COLOR_YELLOW;
      SELECTCOLOR COLOR_BLUE, COLOR_YELLOW;
      BORDERCOLOR {255,153, 51};
      FONT "14.Verdana";
      ACTION {||AltGr(@lAltGr),DC_GetRefresh(GetList)} ;
      ACCELKEY xbeK_ALT_UP;
      HIDE {|| lAltGr }

   @ 50+((nButtonHeight+nSpaceW)*4),0+(nButtonWidth+nSpaceW)*9  ;
      DCPUSHBUTTON CAPTION {||iif( lAltGr,"ALT-GR;ON", "alt-gr;off") } ;
      FONT cFont ;
      SIZE nButtonWidth+(nSpaceW*3), nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_GREEN;
      MOUSECOLOR COLOR_BLACK, COLOR_GREEN;
      CLICKCOLOR COLOR_BLUE, COLOR_GREEN;
      SELECTCOLOR COLOR_BLUE, COLOR_GREEN;
      BORDERCOLOR {255,153, 51};
      FONT "14.Verdana";
      ACTION {||AltGr(@lAltGr),DC_GetRefresh(GetList)} ;
      ACCELKEY xbeK_ALT_UP;
      HIDE {|| !lAltGr }

   @ 50+((nButtonHeight+nSpaceW)*1),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*12)  ;
      DCPUSHBUTTON CAPTION 'CL';
      FONT cFont ;
      SIZE nButtonWidth+(nSpaceW*2),nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_PALEGRAY;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {||cValue := "",Accum('','',@cValue,GetList)} ;
      ACCELKEY { 67, 99 }

   @ 50+((nButtonHeight+nSpaceW)*2),0+(nSpaceFront*2)+((nButtonWidth+nSpaceW)*12)  ;
      DCPUSHBUTTON CAPTION 'Esc';
      FONT cFont ;
      SIZE nButtonWidth+(nSpaceW*2),nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_RED;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACTION {|| DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)} ;
      ACCELKEY 27 ;
      OBJECT oCancelButton

   @ 50+((nButtonHeight+nSpaceW)*3),0+(nButtonWidth+nSpaceW)*11 ;
      DCPUSHBUTTON CAPTION 'ENTER' ;
      FONT cFont ;
      SIZE (nButtonWidth*3)+nSpaceW,nButtonHeight PIXEL ;
      GRADIENT 5;
      RADIUS 10;
      COLOR COLOR_BLACK, COLOR_GREEN;
      MOUSECOLOR COLOR_BLACK, COLOR_LTORANGE;
      CLICKCOLOR COLOR_BLUE, COLOR_ORANGE;
      SELECTCOLOR COLOR_BLUE, COLOR_ORANGE;
      BORDERCOLOR {255,153, 51};
      FONT "18.Verdana";
      ACCELKEY 13 ;
      WHEN {|| (len(trim(cValue)) # 0 )} ;
      ACTION {||DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList)};
      ID 'ENTER'

    DCGETOPTIONS ;
       TITLE "KeyPadGui";
       NOMINBUTTON;
       NOMAXBUTTON;
       SCALEFACTOR aScale;
       HIDE
       // NOTITLE ;
       //AUTORESIZE;

    DCREAD GUI FIT MODAL ;
           SETFOCUS @oCancelButton ;
           TO lStatus ;
           OPTIONS GetOptions ;
           EVAL {|o|DC_CenterObject(o,SetAppWindow()), ;
                    o:show()}

   IF !lStatus
      cValue := cSaveValue
   ELSE
      cValue := cValue
   ENDIF

RETURN cValue

* --------------

STATIC FUNCTION CAPS(lCaps)
  lCaps := !lCaps
RETURN lCaps

* ----------------
STATIC FUNCTION AltGr(lAltGr)
   lAltGr := !lAltGr
RETURN lAltGr

* ----------------

STATIC FUNCTION Accum ( cKey, cCapsKey, cValue, GetList )

   IF lFirstTime
      cValue := ''
   ENDIF

   lFirstTime := .f.

   cValue += iif(lCaps, cCapsKey, cKey)

   DC_GetRefresh(GetList,'ACCUM')
   DC_GetRefresh(GetList,'ENTER')
   DC_GetRefresh(GetList,'BACK')

RETURN nil




PROCEDURE AppSys
RETURN



Code:
[PROJECT]
    DEBUG         = No
    VERSION       = 1.0;0.00
    GUI           = yes
    COMPILE       = xpp
    COMPILE_FLAGS = -q -w -wu
    DEBUG_SAVE    = no
    GUI           = yes
    LINKER        = alink
    LINK_FLAGS    =
    RC_COMPILE    = arc
    RC_FLAGS      = -v
    KBGUI.XPJ

[KBGUI.XPJ]
    KBGUI.EXE

[KBGUI.EXE]
    KBGUI.obj
    DCLIP1.LIB
    DCLIPX.LIB
    KBGUI.prg

_________________
Best regards
Leon


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group