Page 1 of 2

Una sobre la clase TTOAST

PostPosted: Sat Aug 26, 2023 1:25 am
by JoseAlvarez
Hola a todos.

¿Alguien ha usado la clase TTOAST del master cnavarro?

quisiera saber como usar las imagenes de los mensajes desde recursos. Los ejemplos en el foro solo muestran leyendolos desde disco. No me gusta tener recursos en disco.

Dejo la imagen de muestra, con la flecha roja indico el recurso que estoy leyendo desde disco pero quiero hacerlo desde RC

Image



Acá el codigo simplificado de la funcion.



Code: Select all  Expand view
Function Fnct_ShowNotifyOk( oDialog, cText, nLargoCuadro, nAltoCuadro )

   local oTip
   local lLeft := .f.
   local lUp   := .t.
   Local nType := 1
   Local nTone := 255
   Local nTimer:= 4000
   local cBmp  := "c:\xBapp\ServiTec64\Imagenes\bmp\NotifyOk.bmp"

   oTip := TToast():NewToast( nType, cText, cBmp, nLargoCuadro, nAltoCuadro, oDialog, ;
               CLR_GREEN, , CLR_WHITE, nTone, nTimer, lUp, , lLeft )
   oTip:nWRadio   :=6
   oTip:nHRadio   :=6
   oTip:lBtnClose :=.f.
   oTip:lBtnSetup :=.f.
   oTip:lAlert    :=.f.
   oTip:ActivaAlert( oDialog )
   Syswait( 1.0 )

Return nil
 


Quedo atento... Gracias.

Re: Una sobre la clase TTOAST

PostPosted: Mon Aug 28, 2023 12:45 pm
by JoseAlvarez
Master navarro.

¿Alguna orientacion sobre el tema?

Quedo atento.

Gracias.

Re: Una sobre la clase TTOAST

PostPosted: Mon Aug 28, 2023 6:55 pm
by karinha
Esto solo funciona, si mi memoria no me falla, en Windows 10. En Windows 7, los ejemplos \samples no funcionan.

salu2

Re: Una sobre la clase TTOAST

PostPosted: Mon Aug 28, 2023 7:40 pm
by JoseAlvarez
karinha wrote:Esto solo funciona, si mi memoria no me falla, en Windows 10. En Windows 7, los ejemplos \samples no funcionan.

salu2


Hola amigo Joao.

No sabría decirte. En windows 10 funciona muy bien.

Yo personalmente dejé de montar sistemas en windows 7. Ya es hora de dejarlo ir. Igual que los 32 bits, ya estoy pensando en dejarlos. Apenas pueda adquirir FW64, me olvidaré de .EXE en 32.

Es mi gusto personal. No tengo nada en contra de quien desee seguir usandolos.

Esperare al master navarro a ver si me ayuda. :lol:

Re: Una sobre la clase TTOAST

PostPosted: Tue Aug 29, 2023 2:03 am
by cnavarro
Jose, por favor, incluye en tu rc cualquier recurso ( yo aqui uso "next" ), prueba el ejemplo que te envio y pon la imagen del toast que obtienes
Gracias señor
Code: Select all  Expand view

Function HazAlert204( oWnd, nType )

   local oTip
   local bInit
   local cText
   local cBmp    := "next"
   local lLeft   := .T.
   local lUp     := .T.
   DEFAULT nType := 1

   // oTip := TToast():NewToast( nToast, cText, cBmp, nWidth, nHeight, oWnd, nClrPane, ;
   //                  nClrPane2, nClrText, nLev, nTime, lUp, bRet, lLeft, lAlert, lShadow,;
   //                  nOffY, nOffX )

   cText   := "Message Success Action"
   oTip  := TToast():NewToast( nType, cText, cBmp, 400, 40, oWnd, ;
               CLR_BLUE, , CLR_WHITE, 255, 4000, !lUp, , lLeft, , , , ) //250, -100 )
   oTip:nWRadio    := 6
   oTip:nHRadio    := 6
   oTip:lBtnClose  := .T.
   oTip:lBtnSetup  := .T.
   oTip:ActivaAlert()

Return oTip

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


 

Re: Una sobre la clase TTOAST

PostPosted: Sat Sep 02, 2023 5:54 am
by anserkk
cnavarro wrote:Jose, por favor, incluye en tu rc cualquier recurso ( yo aqui uso "next" ), prueba el ejemplo que te envio y pon la imagen del toast que obtienes
Gracias señor
Code: Select all  Expand view

Function HazAlert204( oWnd, nType )

   local oTip
   local bInit
   local cText
   local cBmp    := "next"
   local lLeft   := .T.
   local lUp     := .T.
   DEFAULT nType := 1

   // oTip := TToast():NewToast( nToast, cText, cBmp, nWidth, nHeight, oWnd, nClrPane, ;
   //                  nClrPane2, nClrText, nLev, nTime, lUp, bRet, lLeft, lAlert, lShadow,;
   //                  nOffY, nOffX )

   cText   := "Message Success Action"
   oTip  := TToast():NewToast( nType, cText, cBmp, 400, 40, oWnd, ;
               CLR_BLUE, , CLR_WHITE, 255, 4000, !lUp, , lLeft, , , , ) //250, -100 )
   oTip:nWRadio    := 6
   oTip:nHRadio    := 6
   oTip:lBtnClose  := .T.
   oTip:lBtnSetup  := .T.
   oTip:ActivaAlert()

Return oTip

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

As per my test, BMP's from resources are working but PNG, ICO etc from resource file are not working

Re: Una sobre la clase TTOAST

PostPosted: Sat Sep 02, 2023 6:50 pm
by cnavarro
Dear Anser
I tested with .ico, .png and. .jpg also, and run OK for me

Re: Una sobre la clase TTOAST

PostPosted: Sun Sep 03, 2023 2:34 pm
by albeiroval
Jose Alvarez, no sabia que tenia un colega tan cerca. Soy de Barquisimeto

Re: Una sobre la clase TTOAST

PostPosted: Sun Sep 03, 2023 6:48 pm
by JoseAlvarez
Estimado Cristobal, disculpa la tardanza en contestar y gracias por responder.

Haciendo un "copy&paste" de lo que me envias, el resultado es este:

Image

Ya habia probado colcando el recurso de esa manera y tambien con loadbitmaps(getrosources() ) pero no funcionó, la función arroja error.

Application
===========
Path and name: C:\ServiTec64\ServiTec64.exe (64 bits)
Size: 6,944,768 bytes
Compiler version: Harbour 3.2.0dev (r2303091450)
FiveWin version: FWH 21.06
C compiler version: Microsoft Visual C 19.30.30706 (64-bit)
Windows version: 6.2, Build 9200

Time from start: 0 hours 0 mins 13 secs
Error occurred at: 03/09/2023, 14:46:46
Error description: Error BASE/44 Assigned value is wrong class: TTOAST:CBMPLEFT
Args:
[ 1] = N 285549237

Stack Calls
===========
Called from: => TTOAST:_CBMPLEFT( 0 )
Called from: .\source\classes\TTOAST.PRG => TTOAST:NEWTOAST( 0 )
Called from: Prg64\Utilidades64.prg => FNCT_SHOWNOTIFYOK( 527 )
Called from: Prg64\Usuarios64.prg => FNCT_GRABAREDITARUSUARIO( 850 )
Called from: Prg64\Usuarios64.prg => (b)FNCT_EDITARUSUARIO( 783 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 0 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 0 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 0 )
Called from: .\source\classes\DIALOG.PRG => DIALOGBOXW( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 0 )
Called from: Prg64\Usuarios64.prg => FNCT_EDITARUSUARIO( 791 )

Re: Una sobre la clase TTOAST

PostPosted: Sun Sep 03, 2023 6:50 pm
by JoseAlvarez
albeiroval wrote:Jose Alvarez, no sabia que tenia un colega tan cerca. Soy de Barquisimeto


Hola Alveiro, como estas?

que bien !! siempre es bueno saber que se cuenta cerca con personas que amamos FW !!

cualquier cosa puedes contactarme a jalvarez AT neurosistema DOT online

Re: Una sobre la clase TTOAST

PostPosted: Tue Sep 05, 2023 12:06 am
by cnavarro
Jose, he tratado de enviarte un correo pero me dice que la cuenta no existe
A qué correo he de escribirte ?
Saludos

Re: Una sobre la clase TTOAST

PostPosted: Tue Sep 05, 2023 12:09 am
by leandro
Hola buenas noches que pena la interrupción, pero me gustaría hacer que una toast, apareciera exactamente debajo de un dialogo y que se cerrara cuando el dialogo se cierre, no con timer, es posible?
Image
Code: Select all  Expand view

// Our first DialogBox sample

#include "FiveWin.ch"

function Main()

   local oDlg, oIco, cTest := "Hello world!   "

   DEFINE ICON oIco FILE "..\icons\fivewin.ico"

   DEFINE DIALOG oDlg TITLE "I am a DialogBox" COLOR "W+/B" ;
      ICON oIco

   @ 1, 3 GET cTest

   @ 3, 5 BUTTON "&Ok" SIZE 40, 12 ;
      ACTION MsgInfo( "Any action here!" ) DEFAULT

   @ 3, 16 BUTTON "&Cancel" SIZE 40, 12 ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT HazAlert204() VALID MsgYesNo( "Do you want to end ?" )

return nil


Function HazAlert204(nType)

   local oTip
   local bInit
   local cText
   local cBmp    := "next"
   local lLeft   := .T.
   local lUp     := .T.
   DEFAULT nType := 1

   cText   := "Message Success Action"
   oTip  := TToast():NewToast( nType, cText, cBmp, 400, 40, , ;
               CLR_BLUE, , CLR_WHITE, 255, 4000, !lUp, , lLeft, , , , ) //250, -100 )
   oTip:nWRadio    := 6
   oTip:nHRadio    := 6
   oTip:lBtnClose  := .T.
   oTip:lBtnSetup  := .T.
   oTip:ActivaAlert()

Return oTip

Re: Una sobre la clase TTOAST

PostPosted: Tue Sep 05, 2023 2:27 am
by JoseAlvarez
cnavarro wrote:Jose, he tratado de enviarte un correo pero me dice que la cuenta no existe
A qué correo he de escribirte ?
Saludos


Hola cristobal,

Si, desde ayer estoy cambiando de servidor y dns. Debo tener los correos desconectados.

Mandalo por los momentos a

actividades1309 AT gmail

Gracias !

Re: Una sobre la clase TTOAST

PostPosted: Thu Sep 07, 2023 10:43 am
by cnavarro
leandro wrote:Hola buenas noches que pena la interrupción, pero me gustaría hacer que una toast, apareciera exactamente debajo de un dialogo y que se cerrara cuando el dialogo se cierre, no con timer, es posible?
Image
Code: Select all  Expand view

// Our first DialogBox sample

#include "FiveWin.ch"

function Main()

   local oDlg, oIco, cTest := "Hello world!   "

   DEFINE ICON oIco FILE "..\icons\fivewin.ico"

   DEFINE DIALOG oDlg TITLE "I am a DialogBox" COLOR "W+/B" ;
      ICON oIco

   @ 1, 3 GET cTest

   @ 3, 5 BUTTON "&Ok" SIZE 40, 12 ;
      ACTION MsgInfo( "Any action here!" ) DEFAULT

   @ 3, 16 BUTTON "&Cancel" SIZE 40, 12 ACTION oDlg:End()

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT HazAlert204() VALID MsgYesNo( "Do you want to end ?" )

return nil


Function HazAlert204(nType)

   local oTip
   local bInit
   local cText
   local cBmp    := "next"
   local lLeft   := .T.
   local lUp     := .T.
   DEFAULT nType := 1

   cText   := "Message Success Action"
   oTip  := TToast():NewToast( nType, cText, cBmp, 400, 40, , ;
               CLR_BLUE, , CLR_WHITE, 255, 4000, !lUp, , lLeft, , , , ) //250, -100 )
   oTip:nWRadio    := 6
   oTip:nHRadio    := 6
   oTip:lBtnClose  := .T.
   oTip:lBtnSetup  := .T.
   oTip:ActivaAlert()

Return oTip


Leandro, sería algo así
Ten en cuenta que el TToast debería cerrarse al hacerlo su "padre", pero si no lo hace, en el valid del dialogo haz una llamada a oTip:End() ( lógicamente la variable oTip debería ser estática )
Fíjate en el valor que le pongo al parametro nTime ( -1 ) y al parámetro nOffY ( -50 ) para sacarlo fuera de los limites del contenedor
Code: Select all  Expand view

Function HazAlert204( oWnd, nType )

   local oTip
   local bInit
   local cText
   local cBmp    := "five"
   //local cBmp    :=  "ico"  
   //local cBmp    := "..\bitmaps\16x16\alert.bmp"
   local lLeft   := .T.
   local lUp     := .T.
   DEFAULT nType := 1

   // oTip := TToast():NewToast( nToast, cText, cBmp, nWidth, nHeight, oWnd, nClrPane, ;
   //                  nClrPane2, nClrText, nLev, nTime, lUp, bRet, lLeft, lAlert, lShadow,;
   //                  nOffY, nOffX )

   cText   := "Message Success Action"
   oTip  := TToast():NewToast( nType, cText, cBmp, oWnd:nWidth - 24, 40, oWnd, ;
               CLR_BLUE, , CLR_WHITE, 255, -1, !lUp, , lLeft, , , -50, )
   oTip:nWRadio    := 6
   oTip:nHRadio    := 6
   //oTip:lBtnClose  := .T.
   //oTip:lBtnSetup  := .T.
   oTip:ActivaAlert()

Return oTip
 

Re: Una sobre la clase TTOAST

PostPosted: Mon Sep 11, 2023 10:38 pm
by leandro
Amigo Cristóbal como siempre, muchas gracias por la ayuda.