Page 1 of 1

Change Text on ButtonBar!

PostPosted: Mon Jun 26, 2023 12:47 pm
by Horizon
Hi,

I have a Text on ButtonBar via TSay class. I need to change it with pressing "Change It" button.

Any help?

Thanks.

Code: Select all  Expand view
#include "fivewin.ch"

function Main()

   local oWnd, oBar, oBold, oFont1, oSay11

    DEFINE FONT oFont1 NAME "Arial" SIZE 0, -35
   
   DEFINE WINDOW oWnd TITLE "FWH17.04 : ButtonBar Group Labels"
   DEFINE BUTTONBAR oBar OF oWnd 2007 SIZE 56,56 HEIGHT 80

   oBold := oBar:oFont:Bold()
   oBar:oGrpFont  := oBold

   DEFINE BUTTON OF oBar  PROMPT "Change it" action Change_Text(oSay11)
    @ 3,100 say oSay11 Prompt "Test1" of oBar size 500,56 pixel TRANSPARENT FONT oFont1 CENTER VCENTER COLOR CLR_RED UPDATE

   ACTIVATE WINDOW oWnd CENTERED
   RELEASE FONT oBold
   oFont1:=nil

return nil

function Change_Text(oSay)
    oSay:SetText("New Text")
    oSay:refresh()
return .t.

Re: Change Text on ButtonBar!

PostPosted: Mon Jun 26, 2023 1:22 pm
by cmsoft
Una forma sería:
Code: Select all  Expand view
#include "fivewin.ch"

function Main()

   local oWnd, oBar, oBold, oFont1, oSay11, cText := "Test 1"

    DEFINE FONT oFont1 NAME "Arial" SIZE 0, -35
   
   DEFINE WINDOW oWnd TITLE "FWH17.04 : ButtonBar Group Labels"
   DEFINE BUTTONBAR oBar OF oWnd 2007 SIZE 56,56 HEIGHT 80

   oBold := oBar:oFont:Bold()
   oBar:oGrpFont  := oBold

   DEFINE BUTTON OF oBar  PROMPT "Change it" action Change_Text(oSay11,@cText)
    @ 3,100 say oSay11 Prompt cText of oBar size 500,56 pixel TRANSPARENT FONT oFont1 CENTER VCENTER COLOR CLR_RED UPDATE

   ACTIVATE WINDOW oWnd CENTERED
   RELEASE FONT oBold
   oFont1:=nil

return nil

function Change_Text(oSay,cText)
    cText := "New Text"
    oSay:Refresh()
return .t.

Re: Change Text on ButtonBar!

PostPosted: Tue Jun 27, 2023 3:21 am
by nageswaragunupudi
Code: Select all  Expand view
function BarSay()

   local oWnd, oBar, oSay1, oSay2
   local cPrompt1 := "ONE"
   local nMth     := 0

   DEFINE WINDOW oWnd FROM 0,0 TO 300,500 PIXEL
   DEFINE BUTTONBAR oBar OF oWnd SIZE 45,45 2010

   DEFINE BUTTON OF oBar PROMPT "Change" CENTER ACTION ( ;
      cPrompt1 := If( cPrompt1 == "ONE", "TWO", "ONE" ), ;
      nMth  := ( ++nMth ) % 12, ;
      oBar:Refresh() )

   @ 3,100 SAY cPrompt1 SIZE 80,40 PIXEL OF oBar VCENTER
   @ 3,200 SAY { || ntocmonth( nMth + 1 ) } SIZE 80,40 PIXEL OF oBar VCENTER

   ACTIVATE WINDOW oWnd CENTERED

return nil
 

Re: Change Text on ButtonBar!

PostPosted: Tue Jun 27, 2023 3:03 pm
by Horizon
Thank you Mr. Rao, Cesar.