FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Quitar o mostrar button action de un get
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Quitar o mostrar button action de un get
Posted: Tue Oct 01, 2024 10:05 PM
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?



Espero haberme hecho entender de antemano gracias.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 02:02 PM

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.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 03:27 PM

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.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 08:09 PM

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.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 09:29 PM
Estimado Leandro, asi es Simples. Mira se sirve:
Code (fw): Select all Collapse
// 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 10:28 PM
Puedes hacerlo asi
oGet:oBtn:Show() o oGet:oBtn:Hide()
Code (fw): Select all Collapse
#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
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Quitar o mostrar button action de un get
Posted: Wed Oct 02, 2024 10:33 PM
Excelente Cesar muchas gracias como siempre por la ayuda. Es exactamente lo que queríamos hacer. :D :D :D :D
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Quitar o mostrar button action de un get
Posted: Thu Oct 03, 2024 11:17 AM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
tooltip en el button action de un get
Posted: Fri Dec 20, 2024 08:00 PM
Hola buenas tardes para todos, es posible colocar un tooltip, en el button action del GET

Lo intentamos así, pero sale error
Code (fw): Select all Collapse
#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
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Quitar o mostrar button action de un get
Posted: Fri Dec 20, 2024 08:53 PM

oGet:oBtn:cTooltip := "Texto del tooltip"

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Quitar o mostrar button action de un get
Posted: Sat Dec 21, 2024 04:01 PM
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 (fw): Select all Collapse
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 )
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Re: Quitar o mostrar button action de un get
Posted: Sat Dec 21, 2024 04:03 PM
Ya descubrimos como hacerlo, toca asignarle el tooltip, luego de iniciar el dialogo.

Así, funcionó
Code (fw): Select all Collapse
#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
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Quitar o mostrar button action de un get
Posted: Sun Dec 22, 2024 07:29 AM

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. )

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion