Como atualizar SAY na dialog ?
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como atualizar SAY na dialog ?
Já fiz todos os testes possíveis.
say:Refresh()
dialog:refresh()
say:Display()
Por enquanto, a saída foi trocar SAY BORDER por GET READONLY.
GET atualiza.
Nota: conteúdo está atualizado, já confirmei, mas a tela não atualiza de jeito nenhum, nem com WINDOW nem com DIALOG
say:Refresh()
dialog:refresh()
say:Display()
Por enquanto, a saída foi trocar SAY BORDER por GET READONLY.
GET atualiza.
Nota: conteúdo está atualizado, já confirmei, mas a tela não atualiza de jeito nenhum, nem com WINDOW nem com DIALOG
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Como atualizar SAY na dialog ?
Use: VARPUT()
Regards, saludos.
Código: Selecionar todos
LOCAL cSay := ...
LOCAL oSay
REDEFINE SAY oSay VAR cSay ID 450 OF oDlg ;
COLORS CLR_BLACK, CLR_WHITE UPDATE FONT oFont
// dispare em um VALID, ON CHANGE ou ACTION.. GET ou BUTTON...
FUNCTION Troca_SAY( oSay )
LOCAL nTam...
oSay:VarPut( Strzero( nTam, 3, 0 ) )
oSay:Refresh()
RETURN( .T. )
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como atualizar SAY na dialog ?
Ok, vou testar depois na dialog, é só na dialog que não atualiza.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Como atualizar SAY na dialog ?
Teste simples com SetText(), como ja disse antes, FIVEWIN tem sempre formas difrentes de se fazer a mesma coisa, dependendo do momento.
Regards, saludos.
Código: Selecionar todos
// C:\FWH\SAMPLES\TESTSAY.PRG Modified by João Santos.
#include "FiveWin.ch"
STATIC oFont, oFnt, oFont1, oFont2, oFont3
FUNCTION Main()
LOCAL oWnd
LOCAL oMenu
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD
DEFINE FONT oFont1 NAME "Calibri" SIZE 0, -14
DEFINE FONT oFont2 NAME "Segoe UI Light" SIZE 0, -18
DEFINE FONT oFont3 NAME "Segoe UI" SIZE 0, -26
MENU oMenu
MENUITEM "&Gradient" ACTION Dlg_Grad()
MENUITEM "&Color" ACTION Dlg_Color()
MENUITEM "&Bitmap" ACTION Dlg_Bit()
MENUITEM "&Saida" ACTION( oWnd:End() )
ENDMENU
DEFINE WINDOW oWnd TITLE "Test Say" FROM 0, 0 TO 400, 800 PIXEL MENU oMenu
ACTIVATE WINDOW oWnd CENTERED // MAXIMIZED
RELEASE oFont, oFnt, oFont1, oFont2, oFont3
RETURN NIL
PROCEDURE Dlg_Grad
LOCAL oDlg, oSay, oBrush, oBtn
DEFINE BRUSH oBrush GRADIENT { { 0.4, nRGB( 75, 144, 223 ), nRGB( 41, 85, 145 ) }, ;
{ 0.6, nRGB( 24, 61, 118 ), nRGB( 50, 95, 158 ) } }
DEFINE DIALOG oDlg TITLE "Test Say With Gradient Brush" ;
SIZE 400, 400 PIXEL BRUSH oBrush transparent
oDlg:lHelpIcon := .F.
// @ 2, 2 TO 100, 100 OF oDlg PIXEL - VERSOES ANTIGAS COMO NO CLIPPER
// VERSOES MODERNAS DO FIVEWIN:
@ 30, 2 GROUP TO 100, 150 LABEL "Say With Gradient Brush" OF oDlg PIXEL ;
COLOR METRO_ORANGE, CLR_WHITE TRANSPARENT FONT oFnt
@ 50, 15 SAY oSay PROMPT "This a Test" of oDlg SIZE 50, 20 UPDATE ;
COLOR METRO_ORANGE, CLR_WHITE PIXEL TRANSPARENT ADJUST FONT oFont3
@ 10, 120 BUTTON oBtn PROMPT "Test Quintas" OF oDlg PIXEL ;
ACTION( oSay:SetText( "Change Text Quintas" ), oBtn:Disable() )
@ 130, 080 BUTTON "&Saida" OF oDlg PIXEL ;
ACTION( oDlg:End() ) CANCEL
ACTIVATE DIALOG oDlg CENTERED
RELEASE BRUSH oBrush
oBtn:Enable() // religo o Botao
RETURN
PROCEDURE Dlg_Color
LOCAL oDlg
LOCAL oBrush
LOCAL oSay
DEFINE BRUSH oBrush COLOR CLR_CYAN
DEFINE dialog oDlg TITLE "Test Say With Color Brush" BRUSH oBrush ;
SIZE 400, 400 PIXEL
oDlg:lHelpIcon := .F.
@ 2, 2 SAY oSay PROMPT "This a Test" OF oDlg SIZE 100, 130 ;
COLOR CLR_WHITE PIXEL TRANSPARENT UPDATE
@ 10, 120 BUTTON "Test" ACTION oSay:SetText( "Change Text" ) PIXEL
ACTIVATE DIALOG oDlg CENTERED
RELEASE BRUSH oBrush
RETURN
PROCEDURE Dlg_Bit
LOCAL oDlg, oBrush, oSay
DEFINE BRUSH oBrush FILE "..\bitmaps\cara.bmp"
DEFINE dialog oDlg TITLE "Test Say With bitmap Brush" BRUSH oBrush ;
SIZE 400, 400 PIXEL
oDlg:lHelpIcon := .F.
@ 2, 2 SAY oSay PROMPT "This a Test" OF oDlg SIZE 100, 130 ;
COLOR CLR_WHITE PIXEL TRANSPARENT UPDATE
@ 10, 120 BUTTON "Test" PIXEL ACTION oSay:SetText( "Change Text" )
ACTIVATE DIALOG oDlg CENTERED ON INIT osay:refresh()
RELEASE BRUSH oBrush
RETURN
// FIN / END - kapiabafwh@gmail.com
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Como atualizar SAY na dialog ?
Usando SayText() VERTICAL:
Regards, saludos.
Código: Selecionar todos
// C:\FWH\SAMPLES\SAYBOX.PRG
#include "FiveWin.ch"
/*
FUNCTION Main()
LOCAL oWnd, oSay[ 3 ], oFont[ 2 ]
DEFINE FONT oFont[ 1 ] NAME "ARIAL" SIZE 0, 20 BOLD NESCAPEMENT 900
DEFINE WINDOW oWnd ;// FROM 1,5 TO 20,65 ;
TITLE "Testing SAY With Design"
@ 180, 30 SAY osay[ 2 ] PROMPT "" OF oWnd COLOR 0 SIZE 80, 200 ;
FONT oFont[ 1 ] design UPDATE pixel
ACTIVATE WINDOW oWnd MAXIMIZED ;
ON INIT oSay[ 2 ]:SAY( 180, 30, "THIS DONT SHOW", CLR_BLACK, CLR_YELLOW, oFont[ 1 ], .T., ) ;
ON PAINT osay[ 2 ]:SAY( 180, 30, "THIS DONT SHOW", CLR_BLACK, CLR_YELLOW, oFont[ 1 ], .F., )
RETURN NIL
*/
/*
#include "fivewin.ch"
#define SS_CENTERIMAGE 0x00000200
FUNCTION SayTestDlg()
LOCAL oDlg, oSay
DEFINE DIALOG oDlg TRUEPIXEL TITLE "SAY VCENTER"
@ 20, 20 SAY oSay PROMPT "Center" SIZE 200, 100 PIXEL OF oDlg CENTER
IF Empty( oSay:hWnd )
oSay:nStyle := nOr( oSay:nStyle, SS_CENTERIMAGE ) // dialogs
ELSE
oSay:WinStyle( SS_CENTERIMAGE, .T. ) // windows, etc
ENDIF
ACTIVATE DIALOG oDlg CENTERED ;
ON PAINT oDlg:Box( oSay:nTop - 1, oSay:nLeft - 1, oSay:nBottom + 1, oSay:nRight + 1 )
RETURN NIL
*/
#include "FiveWin.ch"
FUNCTION SayTest()
LOCAL oDlg, oSay, oFont
DEFINE FONT oFont NAME "Segoe UI" SIZE 0, - 40 NESCAPEMENT 900
DEFINE DIALOG oDlg SIZE 600, 700 PIXEL TRUEPIXEL
ACTIVATE DIALOG oDlg CENTERED ;
ON PAINT ( oDlg:SayText( "Vertical Text" + CRLF + "Second Line", ;
{ 20, 20, 300, 120 }, NIL, oFont ), ;
oDlg:Box( 20, 20, 300, 120 ) )
RELEASE FONT ofont
RETURN NIL
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Como atualizar SAY na dialog ?
Mudando a COR do SAY em tempo REAL:
Regards, saludos.
Código: Selecionar todos
// C:\FWH\SAMPLES\SAYCOR3.PRG
#Include "FiveWin.ch"
FUNCTION CambiaClrSay()
LOCAL oDlg, oFont, oBold, oSay, cClr
LOCAL nKilos := 2000
LOCAL bColor := {|| If( nKilos <= 50, cClr := CLR_HBLUE,;
If( nKilos >= 51 .and. nKilos <=500, cClr := CLR_GREEN,;
If( nKilos >= 501 .and. nKilos <=1000, cClr := CLR_HRED,))),;
oSay:SetColor(cClr,CLR_YELLOW) ,;
oSay:Refresh() }
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
DEFINE FONT oBold NAME "VERDANA" SIZE 0,-32 BOLD
DEFINE DIALOG oDlg SIZE 400,150 PIXEL TRUEPIXEL FONT oFont ;
TITLE "SAY COLOR TEST"
@ 20,100 SAY oSay PROMPT nKilos PICTURE "9999" ;
SIZE 200,36 PIXEL OF oDlg FONT oBold CENTER
@ 80, 20 BUTTON "50" SIZE 100,30 PIXEL OF oDlg ;
ACTION ( nKilos := 50, Eval(bColor) )
@ 80,150 BUTTON "500" SIZE 100,30 PIXEL OF oDlg ;
ACTION ( nKilos := 500, Eval(bColor) )
@ 80,280 BUTTON "1000" SIZE 100,30 PIXEL OF oDlg ;
ACTION ( nKilos := 1000, Eval(bColor) )
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont, oBold
RETURN NIL
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Como atualizar SAY na dialog ?
Dúvidas, pergunte, A MAIOR SUPER POTÊNCIA DO FIVEWIN BRASIL está ao seu DISPOR. kkkkkkkkkkkkkkkkkkkkkkkkkk
Brincadeira Mister Quintas.
Regards, saludos.
Brincadeira Mister Quintas.
Código: Selecionar todos
// C:\FWH\SAMPLES\TROCASAY.PRG by Joao Santos.
#include "FiveWin.ch"
STATIC oFont, oFnt, oFont1, oFont2, oFont3, oSay, lLigaBtn := .F.
FUNCTION Main()
LOCAL oDlg, oBtn, oBtn2, oBtn3, oBrush, cSay := "EU SOU O SAY DO QUINTAS!"
SkinButtons() // cores no botao
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD
DEFINE FONT oFont1 NAME "Calibri" SIZE 0, -14
DEFINE FONT oFont2 NAME "Segoe UI Light" SIZE 0, -18
DEFINE FONT oFont3 NAME "Segoe UI" SIZE 0, -26
DEFINE BRUSH oBrush COLOR METRO_CYAN // CLR_CYAN
DEFINE DIALOG oDlg TITLE "Trocar Say em Tempo Real" BRUSH oBrush ;
SIZE 550, 400 PIXEL
oDlg:lHelpIcon := .F.
@ 080, 10 SAY oSay VAR cSay OF oDlg SIZE 300, 20 FONT oFont3 ;
COLOR METRO_ORANGE, CLR_WHITE PIXEL TRANSPARENT UPDATE
@ 10, 120 BUTTONBMP oBtn PROMPT "&Trocar SAY" OF oDlg SIZE 70, 16 ;
PIXEL BITMAP "..\bitmaps\16x16\floppy.bmp" TEXTRIGHT ;
TOOLTIP "Trocar SAY em Tempo Real by Quintas" FONT oFont2 ;
ACTION ( TROCAR_SAY_EM_TEMPO_REAL() )
@ 35, 120 BUTTONBMP oBtn2 PROMPT "&Voltar SAY" OF oDlg SIZE 70, 16 ;
PIXEL BITMAP "..\bitmaps\16x16\Open.bmp" TEXTRIGHT ;
TOOLTIP "Voltar SAY em Tempo Real by Quintas" FONT oFont2 ;
ACTION ( VOLTAR_SAY_EM_TEMPO_REAL() ) WHEN( lLigaBtn )
@ 150, 100 BUTTONBMP oBtn3 PROMPT "&Saida" OF oDlg SIZE 50, 16 ;
PIXEL BITMAP "..\bitmaps\16x16\exit.bmp" TEXTRIGHT ;
TOOLTIP "Saida - Exit - Cancelar" FONT oFont ;
ACTION ( oDlg:End() ) CANCEL
ACTIVATE DIALOG oDlg CENTERED
/*
RELEASE BRUSH oBrush
RELEASE oFont, oFnt, oFont1, oFont2, oFont3
*/
// .PPO:
IIF( HB_ISOBJECT( oBrush ), oBrush:End(), ) ; oBrush := nil
__MVXRelease( "oFont", "oFnt", "oFont1", "oFont2", "oFont3" )
RETURN NIL
FUNCTION TROCAR_SAY_EM_TEMPO_REAL()
LOCAL QuintasSay := "EU SOU O NOVO SAY DO QUINTAS: " + Time()
oSay:VARPUT( QuintasSay )
oSay:Refresh()
lLigaBtn := .T.
RETURN NIL
FUNCTION VOLTAR_SAY_EM_TEMPO_REAL()
LOCAL QuintasSay := "EU SOU O SAY DO QUINTAS!"
oSay:VARPUT( QuintasSay )
oSay:Refresh()
lLigaBtn := .F.
RETURN NIL
// FIN / END - kapiabafwh@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como atualizar SAY na dialog ?
Pra mim tá mais pra falta de padronização, ou pra deixar por conta do usuário resolver os pipinos da lib.Kapiaba escreveu:Teste simples com SetText(), como ja disse antes, FIVEWIN tem sempre formas difrentes de se fazer a mesma coisa, dependendo do momento.
Mas tudo bem... fazer o que... pelo menos resolveu.
Agradecido.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/