How i do to show message "in progress" in a progress "SELECT

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

How i do to show message "in progress" in a progress "SELECT

Post by goosfancito »

Hi,
i like show message when server is working in a select progress.
how i do it?

No this:

Code: Select all

msgrun("moment","", { ||browser()})
Cha Gracias!
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
ukoenig
Posts: 3981
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany
Contact:

Re: How i do to show message "in progress" in a progress "SELECT

Post by ukoenig »

Hello from Germany,

normally we have WaitRun, MsgWait and MsgRun.
That doesn't solve our problem.

How You can do it :
During working inside the folder, the message stays on screen.

Image

Code: Select all

...
DEFINE WINDOW oWnd TITLE "Background for Windows and Dialog"  MDI  MENU TMenu():New()  
...
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT Tools(oWnd) ;
ON PAINT ( gradpaint0( hDC, oWnd ), ;
ABPaint( hDC, 20, 20, oBmp1:hBitmap, 220 ) ) 

RETURN ( NIL )

//-----------------  FOLDER -----------------------------------------------------------//

FUNCTION Tools(oWnd)
local oDlg, oBar1, oBrush, oFont1, oDlg1 
..
DEFINE DIALOG oDlg RESOURCE "MainDlg" OF oWnd STYLE nSTYLE TRANSPARENT ;
TITLE  "Background-Selection for Windows and Dialog" FONT oProgFont

// Your Message !!!
// ---------------------
DEFINE DIALOG oDlg1 TITLE "Test" OF oWnd
@ 1.2, 3 SAY oSay PROMPT "This is a Test-Message,"
@ 1.8, 3 SAY oSay PROMPT "Shown during a Action"
ACTIVATE DIALOG oDlg1 CENTERED NOWAIT 

// Don't forget to close oDlg1, together with oDlg !!!
// ------------------------------------------------------------
..
..
ACTIVATE DIALOG oDlg CENTERED NOWAIT ;
ON INIT ( oDlg:Move( 30 , 10, oDlg:nWidth, oDlg:nHeight, .f. ), DisableX(oDlg, .T.), ;
            SetImages( oDlg, oFld ) ) ;
ON PAINT ( gradpaint3( hDC, oDlg ), SetDialogsGradient( oFld )  ) 

RETURN NIL   
 
Regards
Uwe :lol:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: How i do to show message "in progress" in a progress "SELECT

Post by goosfancito »

ukoenig wrote:Hello from Germany,

normally we have WaitRun, MsgWait and MsgRun.
That doesn't solve our problem.

How You can do it :
During working inside the folder, the message stays on screen.

Image

Code: Select all

...
DEFINE WINDOW oWnd TITLE "Background for Windows and Dialog"  MDI  MENU TMenu():New()  
...
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT Tools(oWnd) ;

Danke Schon

ON PAINT ( gradpaint0( hDC, oWnd ), ;
ABPaint( hDC, 20, 20, oBmp1:hBitmap, 220 ) ) 

RETURN ( NIL )

//-----------------  FOLDER -----------------------------------------------------------//

FUNCTION Tools(oWnd)
local oDlg, oBar1, oBrush, oFont1, oDlg1 
..
DEFINE DIALOG oDlg RESOURCE "MainDlg" OF oWnd STYLE nSTYLE TRANSPARENT ;
TITLE  "Background-Selection for Windows and Dialog" FONT oProgFont

// Your Message !!!
// ---------------------
DEFINE DIALOG oDlg1 TITLE "Test" OF oWnd
@ 1.2, 3 SAY oSay PROMPT "This is a Test-Message,"
@ 1.8, 3 SAY oSay PROMPT "Shown during a Action"
ACTIVATE DIALOG oDlg1 CENTERED NOWAIT 
..
..
ACTIVATE DIALOG oDlg CENTERED NOWAIT ;
ON INIT ( oDlg:Move( 30 , 10, oDlg:nWidth, oDlg:nHeight, .f. ), DisableX(oDlg, .T.), ;
            SetImages( oDlg, oFld ) ) ;
ON PAINT ( gradpaint3( hDC, oDlg ), SetDialogsGradient( oFld )  ) 

RETURN NIL   
 
Regards
Uwe :lol:
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
ukoenig
Posts: 3981
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany
Contact:

Re: How i do to show message "in progress" in a progress "SELECT

Post by ukoenig »

A much better solution :
A Message with Gradient, Picture and different Font.
Displaying the Message on any place on Screen.
Disable the Exit-Button ( Message can only be closed together with the Main-Dialog ).

Image

Code: Select all

#include "FiveWin.ch"

STATIC oWnd
STATIC nDAYS := 0, nPRICE := 0, lPRICE := .F., LDAYS := .F.
STATIC nDAYS1 := 0, nDAYS2 := 0, nDAYS3 := 0, nDAYS4 := 0

FUNCTION MAIN()

SetBalloon( .T. ) // Balloon shape required for tooltips

SET DATE GERMAN
SET CENTURY ON   
SET DECIMALS TO 2
PRIVATE aDAYS[1][2]
PRIVATE aSEASON[4][3]
PRIVATE aDAYS[3][1]
cYEAR := LTRIM( STR( YEAR(DATE()) ))

aSEASON[1] := { "17.05." + cYEAR, "27.06." + cYEAR, 7.00 } // LOW
aSEASON[2] := { "28.06." + cYEAR, "25.07." + cYEAR, 9.00 } // AVERAGE
aSEASON[3] := { "26.07." + cYEAR, "29.08." + cYEAR, 11.00 } // HIGHT
aSEASON[4] := { "30.08." + cYEAR, "20.09." + cYEAR, 7.00 } // LOW

lDAYS := .F.
aDAYS[1][1] := 0
aDAYS[2][1] := 0
aDAYS[3][1] := 0

dDAY1 := CTOD("18.05." + cYEAR )
dDAY2 := CTOD("15.09." + cYEAR )

lPRICE := .F.
cSEASON := "LOW"

nDAYS1 := 0 // LOW
nDAYS2 := 0 // AVERAGE
nDAYS3 := 0 // HIGHT 
nDAYS4 := 0 // LOW

nPRICE1 := 0 // LOW
nPRICE2 := 0 // AVERAGE
nPRICE3 := 0 // HIGHT 
nPRICE4 := 0 // LOW

DEFINE WINDOW oWnd TITLE "Price-Test"  // MDI ;
// MENU BuildMenu(oWnd)  //   TMenu():New()  

SET MESSAGE OF oWnd TO "Price-Test" ;
CENTERED CLOCK KEYBOARD 2007

ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT MSG_TEST(oWnd) ;
ON PAINT gradpaint0( hDC, oWnd )

RETURN NIL

// -----------------------------------------------

static func gradpaint0( hDC, oWnd )

local aGrad := { { 0.50, 16054371, 11892819 } }

GradientFill( hDC,  0, 0, oWnd:nHeight, oWnd:nWidth, aGrad, .F. )

RETURN NIL

// ---------------------------

FUNCTION MSG_TEST(oWnd)
LOCAL oDlg, oDlg1, oBtn1, oBtn2, oGET, oGET1, oGET2, oGET3, oGET4, oGroup, oBmp1

DEFINE DIALOG oDlg SIZE 400, 290 TITLE "Price Test" TRANSPARENT

@ 0.6, 1.5 GROUP oGroup TO  7.5, 27 PROMPT "Calculation" OF oDlg  COLOR CLR_YELLOW, CLR_BLUE
oGroup:ltransparent:=.T.

@ 3.2, 3 SAY oSay PROMPT "Price = .T. only used for Price-calculation ( Days-Array = .F. )"
@ 3.8, 3 SAY oSay PROMPT "Price = .F. and Days-Array = .T. Displays Days as Array"

@ 4.8, 5 SAY oSay PROMPT "Start"
@ 4.8, 13 SAY oSay PROMPT "End"
@ 4.8, 20 SAY oSay PROMPT "Price or Days-Array ?"

@ 6.5, 2  GET oGet1 VAR dDAY1 OF oDlg SIZE 40, 15  PICTURE "##.##.####" UPDATE
@ 6.5, 8  GET oGet2 VAR dDAY2 OF oDlg SIZE 40, 15  PICTURE "##.##.####" UPDATE
@ 6.5, 17  CHECKBOX oGet3 VAR lPRICE PROMPT "&Price" SIZE 50, 20 OF oDlg UPDATE
@ 6.5, 21  CHECKBOX oGet4 VAR lDAYS PROMPT "&Day-Array" SIZE 80, 20 OF oDlg UPDATE

@ 6.2, 1.9 BUTTON oBtn1 PROMPT "Date-Test" size 50, 25 OF oDlg ;
ACTION ( oDlg:Update(), ;
   IIF( lDAYS = .F., GET_DAYS( dDAY1, dDAY2, aSEASON ), ;
                            ( GET_DAYS( dDAY1, dDAY2, aSEASON ), ;
                   MsgAlert( "LOW : " + STR(aDAYS[1][1]) + " Days" + CRLF + ;
                                       "AVERAGE : " + STR(aDAYS[2][1]) + " Days" + CRLF + ;
                               "HEIGHT : " + STR(aDAYS[3][1]) + " Days", "Day-Array" ) ) ) ) 

// Message and Dialog closed together
// -----------------------------------------
@ 6.2, 23 BUTTON oBtn2 PROMPT "Close" size 50, 25 OF oDlg ;
ACTION ( oDlg1:End(), oDlg:End() )

// YOUR MESSAGE !!!!!
///------------------------

oFont1 := TFont():New("Arial", ,-14,.F.,.F. , , , ,.F. )
DEFINE DIALOG oDlg1 SIZE 250, 100 TITLE "MsgTest" TRANSPARENT

@ 0.2, 1 SAY oSay PROMPT "This ais a Dialog-Message-Test" Font oFont1
@ 0.8, 1 SAY oSay PROMPT "and must be closed with the Main-Dlg" Font oFont1

ACTIVATE DIALOG oDlg1 CENTERED NOWAIT ;
ON INIT ( oDlg1:Move( 200 , 15, oDlg1:nWidth, oDlg1:nHeight, .f. ), DisableX(oDlg1, .T.) ) ;
ON PAINT gradpaint1( hDC, oDlg ) 
oFont1:End()

ACTIVATE DIALOG oDlg CENTERED ;
ON PAINT gradpaint1( hDC, oDlg )  

RETURN ( NIL )

// ---------------------  EXIT - BUTTON disabled -----------------

FUNCTION DisableX(oWin, lDisable) 

LOCAL hMenu  := 0 
LOCAL nCount := 0 

IF lDisable 
    hMenu  = GetSystemMenu(oWin:hWnd, .F.) 
    nCount = GetMItemCount(hMenu) 
    IF oWin:ClassName() = "TDIALOG" 
        RemoveMenu(hMenu, 1, nOR( 1024, 2) ) 
    ELSE 
        RemoveMenu(hMenu, nCount - 1, nOR( 1024, 2) ) 
        RemoveMenu(hMenu, nCount - 2, nOR( 1024, 2) ) 
    ENDIF     
    DrawMenuBar( oWin:hWnd ) 
ELSE 
    GetSystemMenu( oWin:hWnd, .T. ) 
    DrawMenuBar( oWin:hWnd ) 
ENDIF 

RETURN nil 

// ------- Paints Gradient and BMP together ----------------------------------------

static func gradpaint1( hDC, oDlg )
Local oBmp1
local aGrad := { { 0.50, 16054371, 11892819 } }

GradientFill( hDC,  0, 0, oDlg:nHeight, oDlg:nWidth, aGrad, .F. )

DEFINE BITMAP oBmp1 FILENAME "User.bmp"
ABPaint( hDC, 40, 45, oBmp1:hBitmap, 220 )

RETURN NIL
 
Regards
Uwe :lol:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ryugarai27
Posts: 65
Joined: Fri Feb 13, 2009 12:03 pm
Location: Manila, Philippines
Contact:

Re: How i do to show message "in progress" in a progress "SELECT

Post by ryugarai27 »

Hi Uwe,

Is it possible to use dialog and say controls from resources with the same result?

I tested with say from resources but say background is not transparent to dialog



Thanks,

ryugarai
Post Reply