// C:\DUTCH\TESTSBTN.PRG - Modified by: kapiabafwh@gmail.com - 04/05/2023
#include 'Fivewin.ch'
#include 'Image.ch'
#Define CLR_GOLD1 RGB( 255, 215, 000 ) //-> Gold1 - Ouro 1
#Define CLR_GOLD2 RGB( 238, 201, 000 ) //-> Gold2 - Ouro 2
#Define CLR_GOLD3 RGB( 205, 173, 000 ) //-> Gold3 - Ouro 3
#Define CLR_GOLD4 RGB( 139, 117, 000 ) //-> Gold4 - Ouro 4
#define CLR_PretoDark RGB( 0, 0, 0 )
#define CLR_SombrioDark RGB( 29, 29, 29 )
#define CLR_CinzaDarkp RGB( 34, 34, 34 )
#define CLR_Cinza_Dark RGB( 51, 51, 51 )
#define CLR_CinzentoDark RGB( 85, 85, 85 )
#define CLR_CinzaWhite RGB( 153, 153, 153 )
#define DLGCOLOR1 RGB( 240, 249, 255 )
#define DLGCOLOR2 RGB( 250, 250, 245 )
#define DLGCOLOR3 RGB( 245, 245, 235 )
#define DLGCOLOR4 RGB( 255, 255, 250 )
STATIC oWnd, nWndWidth, nWndHeight, oFont40
FUNCTION Main()
LOCAL oCursorBtn := TCursor():New(, 'HAND' )
LOCAL aImage1, oBtn:= ARRAY(12), oFont
SkinButtons()
nWndWidth := GetSysMetrics( 0 )
nWndHeight := GetSysMetrics( 1 )
DEFINE FONT oFont NAME "Segoe UI Light" SIZE 0,-18 BOLD
DEFINE FONT oFont40 NAME 'Tahoma' SIZE 0, -40 // BOLD
// RESOLUTION: 1024 X 768
DEFINE WINDOW oWnd TITLE 'Test Button on Image Background' ;
STYLE nOr( WS_POPUP, WS_VISIBLE ) COLOR CLR_HGRAY, CLR_WHITE
oWnd:SetFont( oFont )
oWnd:nOpacity := 240
aImage1 := oWnd:ReadImage( '.\TESTSBTN.JPG' )
// 200, 400 ONLY TEST IN MY COMPUTER - ROUNDRECT
@ 100, 0015 BTNBMP oBtn[01] PROMPT "Check-Out" OF oWnd SIZE 460, 460 PIXEL ;
RESOURCE "CHECKIN" FONT oFont40 NOBORDER TEXT ON_BOTTOM COLOR CLR_GOLD2 ;
FLAT UPDATE 2007 ACTION ( MsgInfo( 'ok1' ) )
oBtn[01]:lTransparent := .T.
// 200, 1000
@ 100, 0550 BTNBMP oBtn[02] PROMPT "Check-In" OF oWnd SIZE 460, 460 PIXEL ;
RESOURCE "CHECKOUT" FONT oFont40 NOBORDER TEXT ON_BOTTOM COLOR CLR_GOLD3 ;
FLAT UPDATE 2007 ACTION CheckIn( oBtn )
oBtn[02]:lTransparent := .T.
// 700, 700 Great Resolution
@ 570, 0462 BTNBMP oBtn[03] PROMPT "Exit" OF oWnd SIZE 100, 100 PIXEL ;
RESOURCE "EXIT" FONT oFont40 NOBORDER TEXT ON_BOTTOM COLOR CLR_GOLD4 ;
FLAT UPDATE 2007 ACTION( oWnd:End() ) // TRANSPARENT // .OR. lTransparent
oBtn[03]:lTransparent := .T.
oBtn[03]:lCancel := .T.
oBtn[03]:lEllipse := .T.
FOR n = 1 TO 3
oBtn[ n ]:bClrGrad = {| lInvert | If( ! lInvert, ;
{ { 0.25, DLGCOLOR3, DLGCOLOR2 }, ;
{ 0.75, DLGCOLOR3, DLGCOLOR1 } }, ;
{ { 0.25, DLGCOLOR2, DLGCOLOR1 }, ;
{ 0.75, DLGCOLOR1, DLGCOLOR2 } } ) }
oBtn[ n ]:nClrBorder := nRgb( 238, 236, 219 )
oBtn[ n ]:oCursor := oCursorBtn
NEXT
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON PAINT oWnd:DrawImage( aImage1, { 120, 0, nWndHeight - 100, nWndWidth }, NIL, .T., 40, NIL )
oFont:End()
oFont40:End()
RETURN NIL
FUNCTION CheckIn( oBtn )
LOCAL oFnt, oDlg, oSay, oBmp, oDlgCLose, oImg, aImage1, oBrush
DEFINE DIALOG oDlg SIZE nWndWidth, nWndHeight STYLE nOr( WS_CHILD, WS_POPUP ) ;
COLORS CLR_SombrioDark, CLR_WHITE TRANSPARENT
oDlg:lHelpIcon := .F.
ACTIVATE DIALOG oDlg CENTERED ON INIT ( ShowImg( oDlg, oBtn ) )
RETURN( .T. )
FUNCTION ShowImg( oDlg, oBtn )
LOCAL oCursorBtn := TCursor():New(, 'HAND' )
LOCAL oImg
LOCAL cImage := '.\TESTSBTN.JPG'
@ 120, 0 XIMAGE oImg SOURCE cImage SIZE nWndWidth, nWndHeight - 220 ;
OF oDlg NOBORDER UPDATE ADJUST
oImg:FitWidth()
oImg:FitHeight()
oImg:lBmpTransparent := .T.
oImg:nUserControl := 0
// 200,400
@ 090, 0015 BTNBMP oBtn[04] PROMPT "Walk-In" OF oImg SIZE 460, 460 PIXEL ;
RESOURCE "WALKIN" FONT oFont40 NOROUND TEXT ON_BOTTOM COLOR CLR_GOLD2 ;
FLAT UPDATE ACTION MsgInfo( "Walk-In" )
oBtn[04]:lTransparent := .T.
@ 090, 0550 BTNBMP oBtn[05] PROMPT "Booking" OF oImg SIZE 460, 460 PIXEL ;
RESOURCE "BOOKING" FONT oFont40 NOROUND TEXT ON_BOTTOM COLOR CLR_GOLD3 ;
FLAT UPDATE ACTION MsgInfo( "Walk-In" )
oBtn[05]:lTransparent := .T.
@ 000, 0462 BTNBMP oBtn[06] PROMPT "Back" OF oImg SIZE 100, 088 PIXEL ;
RESOURCE "EXIT" FONT oFont40 ROUNDRECT TEXT ON_BOTTOM COLOR CLR_GOLD4 ;
FLAT UPDATE 2007 ACTION( oDlg:End() )
oBtn[06]:lTransparent := .T.
oBtn[06]:lCancel := .T.
oBtn[06]:lEllipse := .T.
FOR n = 4 TO 6
oBtn[ n ]:bClrGrad = {| lInvert | If( ! lInvert, ;
{ { 0.25, DLGCOLOR3, DLGCOLOR2 }, ;
{ 0.75, DLGCOLOR3, DLGCOLOR1 } }, ;
{ { 0.25, DLGCOLOR2, DLGCOLOR1 }, ;
{ 0.75, DLGCOLOR1, DLGCOLOR2 } } ) }
oBtn[ n ]:nClrBorder := nRgb( 238, 236, 219 )
oBtn[ n ]:oCursor := oCursorBtn
NEXT
RETURN( .T. )
// FIN / END - kapiabafwh@gmail.com - João Santos - São Paulo - Brazil.
Regards, saludos.