Files
harbour-core/harbour/tests/wvtext.prg
Pritpal Bedi 0a69f3201d 2008-06-28 11:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/gtwvg.h
  * contrib/gtwvg/hbgtwvg.ch
    + Implemented application to run as a System Tray Icon.
    ; IMPLEMENTATION:
      Hb_GtInfo( HB_GTI_SPEC, HB_GTS_SYSTRAYICON, ;
                 { nMode /*NIM_ADD/MODIFY/DELETE*/, ;
                    nIconType /*NIT_FILE/RESOURCEBYNAME/RESOURCEBYID*/, ;
                     cnFileNameOrResourceName|Id, ;
                      cTooltip } )

      Right-click on SysTrayIcon will restore the appln in its original state.

    : TOKNOW: Does it qualify for GTWVT? 

  * tests/wvtext.prg
    ! Modified to show the SysTrayIcon feature if linked with GTWVG.
      Link Guarded againt __GTWVG__ define.
2008-06-28 18:51:05 +00:00

217 lines
6.2 KiB
Plaintext

/*
* $Id$
*/
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//
// [x]Harbour Extended Features Deno
// .
// Pritpal Bedi <pritpal@vouchcac.com>
//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
//----------------------------------------------------------------------//
#include 'hbgtinfo.ch'
#include 'inkey.ch'
#ifdef __GTWVG__
#include 'hbgtwvg.ch'
#endif
#define RGB(r,g,b) ( r + ( g * 256 ) + ( b * 256 * 256 ) )
//----------------------------------------------------------------------//
FUNCTION Main()
Local nKey, lMark, lResize, lClose
Local nHeight := 20
Local nWidth := Int( nHeight/2 )
Local cFont
Hb_GtInfo( HB_GTI_FONTNAME , cFont )
Hb_GtInfo( HB_GTI_FONTWIDTH, nWidth )
Hb_GtInfo( HB_GTI_FONTSIZE , nHeight )
#ifdef __GTWVG__
Hb_GtInfo( HB_GTI_ICONFILE, 'C:\Harbour\Contrib\Gtwvg\Tests\Vr_1.ico' )
#endif
SetCursor( 0 )
SetColor( 'n/w' )
HB_GtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| MyNotifier( nEvent, ... ) } )
DispScreen()
DO WHILE .T.
nKey := Inkey()
if nKey == K_ESC
exit
endif
DO CASE
CASE nKey == K_ENTER
Alert( '<Enter> Pressed' )
CASE nKey == K_F2
lMark := Hb_GtInfo( HB_GTI_SELECTCOPY )
Hb_GtInfo( HB_GTI_SELECTCOPY, !lMark )
CASE nKey == K_F3
lResize := Hb_GtInfo( HB_GTI_RESIZABLE )
Hb_GtInfo( HB_GTI_RESIZABLE, !lResize )
CASE nKey == K_F4
lClose := Hb_GtInfo( HB_GTI_CLOSABLE )
hb_GtInfo( HB_GTI_CLOSABLE, !lClose )
CASE nKey == K_F5
SetPalette( 1 )
CASE nKey == K_F6
SetPalette( 0 )
CASE nKey == K_F7
SetPaletteIndex()
CASE nKey == K_F8
Alert( "Menu text changed. Was: " + hb_GtInfo( HB_GTI_SELECTCOPY, DToS(Date()) + " " + Time() ) )
CASE nKey == K_F9
RunInSysTray()
ENDCASE
ENDDO
RETURN NIL
//----------------------------------------------------------------------//
STATIC FUNCTION MyNotifier( nEvent, ... )
DO CASE
CASE nEvent == HB_GTE_SETFOCUS
DispScreen()
DispOutAt( maxrow(), 33, "We got focus", 'B/G*' )
CASE nEvent == HB_GTE_CLOSE
DispScreen()
if Alert( 'Close Application', {'Yes','No' } ) == 2
Return ( 1 )
endif
ENDCASE
RETURN 0
//----------------------------------------------------------------------//
STATIC FUNCTION DispScreen()
Local nRow := 12, nCol := 28
Local cColor := 'N/W'
Local nMaxCol := MaxCol()+1
DispBegin()
CLS
DispOutAt( 0, 0,padc( 'Harbour GT - New Features', maxcol()+1 ), 'N/GR*' )
// Contributed by Massimo Belgrano
DispOutAt( 2, 0, padc( "______ __ ______________________ ",nMaxCol ), 'W+/W' )
DispOutAt( 3, 0, padc( "___ / / /_____ ___________ /___________ _________ __ ____/____/",nMaxCol ), 'W+/W' )
DispOutAt( 4, 0, padc( "__ /_/ /_ __ `/_ ___/_ __ \ __ \ / / /_ ___/ _ / __ __/ ",nMaxCol ), 'W+/W' )
DispOutAt( 5, 0, padc( "_ __ / / /_/ /_ / _ /_/ / /_/ / /_/ /_ / / /_/ / _ / ",nMaxCol ), 'W+/W' )
DispOutAt( 6, 0, padc( "/_/ /_/ \__,_/ /_/ /_.___/\____/\__,_/ /_/ \____/ /_/ ",nMaxCol ), 'W+/W' )
DispOutAt( ++nRow, nCol, '< F2 MarkCopy Toggle >', cColor )
DispOutAt( ++nRow, nCol, '< F3 Resize Toggle >', cColor )
DispOutAt( ++nRow, nCol, '< F4 Closable Toggle >', cColor )
DispOutAt( ++nRow, nCol, '< F5 Palette L Repeat >', cColor )
DispOutAt( ++nRow, nCol, '< F6 Palette D Repeat >', cColor )
DispOutAt( ++nRow, nCol, '< F7 Palette By Index R >', cColor )
DispOutAt( ++nRow, nCol, '< F8 MarkCopy menu text >', cColor )
DispOutAt( ++nRow, nCol, '< Click Other Window >', cColor )
DispOutAt( ++nRow, nCol, '< Click X Button >', cColor )
#ifdef __GTWVG__
DispOutAt( ++nRow, nCol, '< F9 Run in SysTray >', cColor )
#endif
DispOutAt( maxrow(), 0, Space( maxcol()+1 ), "N/G*" )
DispOutAt( 0, 0 , "TL", "N/GR*" )
DispOutAt( 0, MaxCol() - 1 , "TR", "N/GR*" )
DispOutAt( MaxRow(), 0 , "BL", "N/G*" )
DispOutAt( MaxRow(), MaxCol() - 1, "BR", "N/G*" )
DispEnd()
RETURN NIL
//----------------------------------------------------------------------//
PROCEDURE HB_GTSYS()
#ifdef __GTWVG__
REQUEST HB_GT_WVG
#else
REQUEST HB_GT_WVT
REQUEST HB_GT_WIN
#endif
RETURN
//----------------------------------------------------------------------//
#ifdef __GTWVG__
PROCEDURE HB_GT_WVG_DEFAULT()
RETURN
#else
PROCEDURE HB_GT_WVT_DEFAULT()
RETURN
#endif
//----------------------------------------------------------------------//
FUNCTION SetPalette( nMode )
Local aPalette := Hb_GtInfo( HB_GTI_PALETTE )
static nR := 198
static nG := 198
static nB := 198
nR += if( nMode == 0, -5, 5 )
nG += if( nMode == 0, -5, 5 )
nB += if( nMode == 0, -5, 5 )
// Change 'W' to slightly gray everytime you press F5
//
aPalette[ 8 ] := RGB( nR, nG, nB )
Hb_GtInfo( HB_GTI_PALETTE, aPalette )
DispScreen()
RETURN NIL
//----------------------------------------------------------------------//
FUNCTION SetPaletteIndex()
Hb_GtInfo( HB_GTI_PALETTE, 8, RGB( 120, 200, 240 ) )
DispScreen()
RETURN NIL
//----------------------------------------------------------------------//
#define NIM_ADD 0
#define NIM_MODIFY 1
#define NIM_DELETE 2
FUNCTION RunInSysTray()
#ifdef __GTWVG__
Alert( 'Please check your System Tray area after exiting this alert,'+;
';then right click on the icon'+;
';displaying tooltip "Harbour GT in SysTray" !' )
Hb_GtInfo( HB_GTI_SPEC, HB_GTS_SYSTRAYICON, { NIM_ADD, NIT_FILE, ;
'C:\Harbour\Contrib\Gtwvg\Tests\Vr_1.ico', 'Harbour GT in SysTray' } )
#endif
RETURN NIL
//----------------------------------------------------------------------//