Page 1 of 1

Quitar o mostrar button action de un get

Posted: Tue Oct 01, 2024 10:05 pm
by leandro
Hola buenas tardes para todos, tengo una pregunta, quiero poder quitar o mostrar en tiempo de ejecución, ese button que aparece al lado del GET, nosotros lo usamos para abrir un dialogo de búsquedas.

Que propiedad me permite quitarlo o ponerlo?

Image

Espero haberme hecho entender de antemano gracias.

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 2:02 pm
by JoseAlvarez
Hola leandro,

Mientras contestan los gurus, se me ocurre que puedes usar dos controles get. Uno con el action y otro sin. Muestras uno y ocultas el otro segun la necesidad.

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 3:27 pm
by karinha
Leandro, no entiendo por qué quieres ocultar el botón GET. ¿Por qué no usa un botón EN EL LADO de GET y lo habilita/deshabilita según sea necesario o usa Hide()/Show() según sea necesario?

Regards, saludos.

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 8:09 pm
by leandro
Gracias Jose y karinha por las sugerencias... así lo tenemos, pero esa es la solución con "efectos especiales" jejejejeje, nos gustaría, si se puede, poder ocular o mostrar ese botón a conveniencia.

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 9:29 pm
by karinha
Estimado Leandro, asi es Simples. Mira se sirve:

Code: Select all | Expand

// C:\FWH\SAMPLES\LEANDGET.PRG - By Kapiaba.

#Include "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg, oBtn, oBtn2, oFont, oBold, oSay
   LOCAL oGet1, oGet2, oGet3, oGet4, oGet5
   LOCAL cVar1, cVar2, cVar3, cVar4

   cVar1 := 0
   cVar2 := 0
   cVar3 := 50000.00
   cVar4 := 0

   SkinButtons()

   DEFINE FONT oFont NAME 'Tahoma' SIZE 0, -16 BOLD
   DEFINE FONT oBold NAME 'Tahoma' SIZE 0, -14 BOLD

   DEFINE DIALOG oDlg TITLE "Quitar o mostrar button action de un get" PIXEL ;
      SIZE 320, 300 TRANSPARENT COLOR METRO_EMERALD, CLR_WHITE FONT oBold

   oDlg:lHelpIcon := .F.

   @ 56,10 SAY oSay PROMPT "José Alvares, ¡seguro que lo haces mejor!"       ;
      FONT oBold SIZE 155, 20 PIXEL OF oDlg TRANSPARENT UPDATE               ;
      COLORS METRO_ORANGE, CLR_WHITE

   @ 10, 10 GET oGet1 VAR cVar1 bitmap "..\bitmaps\on.bmp" ;
      ACTION( msginfo( "With Transparent" ) ) OF oDlg PIXEL SIZE 60, 12

   oGet1:lBtnTransparent := .T.       // transparent button get oGet1

   @ 40, 10 GET oGet2 VAR cVar2 bitmap "..\bitmaps\on.bmp" ;
      ACTION( msginfo( "Without Transparent" ) ) of oDlg PIXEL SIZE 60, 12

   // CON IMAGEN AL INICIO - SHOW() AL INICIO.
   @ 70, 10 GET oGet3 VAR cVar3 bitmap "..\bitmaps\chkyes.bmp" OF oDlg       ;
      PIXEL SIZE 120, 12 ACTION( msginfo( "With Adjust-Transparent" ) )

   oGet3:lAdjustBtn      := .T.
   oGet3:nClrTextDis     := CLR_WHITE // Color text disable status
   oGet3:nClrPaneDis     := CLR_BLUE  // Color Pane disable status

   // SIN IMAGEN - HIDE() AL INICIO.
   @ 70, 10 GET oGet4 VAR cVar3 OF oDlg PIXEL SIZE 120, 12

   oGet4:lDisColors      := .F.       // Deactive disable color
   oGet4:nClrTextDis     := CLR_WHITE // Color text disable status
   oGet4:nClrPaneDis     := CLR_BLUE  // Color Pane disable status

   @ 100, 10 GET oGet5 VAR cVar4 bitmap "..\bitmaps\chkyes.bmp" OF oDlg      ;
      PIXEL SIZE 120, 12 ACTION( msginfo( "With Adjust-Transparent" ) )

   oGet5:lAdjustBtn      := .T.
   oGet5:nClrTextDis     := CLR_WHITE // Color text disable status
   oGet5:nClrPaneDis     := CLR_BLUE  // Color Pane disable status

   @ 130, 10 BTNBMP oBtn PROMPT "Con Image" CENTER SIZE 50, 14 PIXEL OF oDlg  ;
      NOROUND 2007 FONT oFont                                                 ;
      ACTION( CON_IMAGE_IN_GET( oBtn, oGet3, oGet4, oDlg ) )

   @ 130, 80 BTNBMP oBtn2 PROMPT "Sin Image" CENTER SIZE 50, 14 PIXEL OF oDlg ;
      NOROUND 2007 FONT oFont                                                 ;
      ACTION( SIN_IMAGE_IN_GET( oBtn2, oGet3, oGet4, oDlg ) )

   ACTIVATE DIALOG oDlg CENTERED ON INIT( oGet4:Hide() )

    oFont:End()
    oBold:End()

RETURN NIL

FUNCTION CON_IMAGE_IN_GET( oBtn, oGet3, oGet4, oDlg )

   oGet4:Hide()

   oDlg:Update()

   oGet3:Show()

   oDlg:Update()

   // oBtn:Disable()
   // oBtn:Refresh()

RETURN( .T. )

FUNCTION SIN_IMAGE_IN_GET( oBtn2, oGet3, oGet4, oDlg )

   oGet3:Hide()

   oDlg:Update()

   oGet4:Show()

   oDlg:Update()

   // oBtn2:Disable()
   // oBtn2:Refresh()

RETURN( .T. )

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 10:28 pm
by cmsoft
Puedes hacerlo asi
oGet:oBtn:Show() o oGet:oBtn:Hide()

Code: Select all | Expand

#include "FiveWin.ch"
FUNCTION Main()
Local oDlg, oBot, oGet, nVar := 1
DEFINE DIALOG oDlg TITLE "Ocultar boton" FROM 05,15 TO 40,70
@ 05,05 GET oGet VAR nVar PICTURE "999999" right OF oDlg ACTION(MsgInfo("Accion"))
@ 20,05 BUTTON oBot PROMPT "Ocultar" SIZE 30,12 OF oDlg PIXEL ACTION oGet:oBtn:Hide()
@ 20,55 BUTTON oBot PROMPT "Mostrar" SIZE 30,12 OF oDlg PIXEL ACTION oGet:oBtn:Show()
ACTIVATE DIALOG oDlg CENTERED
RETURN nil

Re: Quitar o mostrar button action de un get

Posted: Wed Oct 02, 2024 10:33 pm
by leandro
Excelente Cesar muchas gracias como siempre por la ayuda. Es exactamente lo que queríamos hacer. :D :D :D :D

Re: Quitar o mostrar button action de un get

Posted: Thu Oct 03, 2024 11:17 am
by karinha
Excelente César. Gracias.

https://forums.fivetechsupport.com/view ... 30&start=0

Regards, saludos.

tooltip en el button action de un get

Posted: Fri Dec 20, 2024 8:00 pm
by leandro
Hola buenas tardes para todos, es posible colocar un tooltip, en el button action del GET

Lo intentamos así, pero sale error

Code: Select all | Expand

#Include "FiveWin.Ch"

Function Main()
   Local oDlg
   Local oGet
   local cVar := space( 10 )

   DEFINE DIALOG oDlg from 0,0 to 400,400 pixel

   @ 15,15 get oGet var cVar picture "@!"  bitmap "..\bitmaps\chkyes.bmp" action( msginfo( "action" ) );
   size 120,12 of oDlg pixel
   oGet:lAdjustBtn := .t.  
   
   oGet:oBtn:cToolTip := "El mensaje"

   ACTIVATE DIALOG oDlg 
 
 return nil

 
Image

Re: Quitar o mostrar button action de un get

Posted: Fri Dec 20, 2024 8:53 pm
by Antonio Linares
oGet:oBtn:cTooltip := "Texto del tooltip"

Re: Quitar o mostrar button action de un get

Posted: Sat Dec 21, 2024 4:01 pm
by leandro
Antonio buenos días, gracias por responder

Ya lo había intentado así, pero no funciona, por eso publique el código, para mostrar como lo intentamos.

Code: Select all | Expand

Application
===========
   Path and name: c:\fwh64_2409\samples\testget2.exe (64 bits)
   Size: 5,666,304 bytes
   Compiler version: xHarbour 1.3.1 Intl. (SimpLex) (Build 20240624)
   FiveWin  version: FWH 24.09
   C compiler version: LLVM/Clang C 5.0.2 (64-bit)
   Windows 8 64 Bits, version: 6.2, Build 9200 

   Time from start: 0 hours 0 mins 0 secs 
   Error occurred at: 12/21/24, 11:00:36
   Error description: Error BASE/1005  Class: 'NIL' has no property: CTOOLTIP
   Args:
     [   1] = U   
     [   2] = C   El mensaje

Stack Calls
===========
   Called from:  => _CTOOLTIP( 0 )
   Called from: testget2.prg => MAIN( 15 )
 

Re: Quitar o mostrar button action de un get

Posted: Sat Dec 21, 2024 4:03 pm
by leandro
Ya descubrimos como hacerlo, toca asignarle el tooltip, luego de iniciar el dialogo.

Así, funcionó

Code: Select all | Expand

#Include "FiveWin.Ch"


Function Main()
   Local oDlg
   Local oGet
   local cVar := space( 10 )

   DEFINE DIALOG oDlg from 0,0 to 400,400 pixel

   @ 15,15 get oGet var cVar picture "@!"  bitmap "..\bitmaps\chkyes.bmp" action( msginfo( "action" ) );
   size 120,12 of oDlg pixel
   oGet:lAdjustBtn := .t.  

   ACTIVATE DIALOG oDlg ON INIT oGet:oBtn:cToolTip := "El mensaje"
 
 return nil
 

Re: Quitar o mostrar button action de un get

Posted: Sun Dec 22, 2024 7:29 am
by Antonio Linares
Leandro,

Muy bien!

Importante: hay que devolver .T. desde la claúsula ON INIT para no variar la secuencia de foco:

ACTIVATE DIALOG oDlg ON INIT ( oGet:oBtn:cToolTip := "El mensaje", .T. )