error en BUTTONBMP

MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

error en BUTTONBMP

Post by MOISES »

Antonio,

Pues sigue sin ir en el Build de sept. En este código, que es samples\testbubm.prg, pones el cursor encima del botón y NO se muestra el mensaje:


#include "FiveWin.ch"

#define COLOR_BTNFACE 15

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

function Main()

local oWnd, oBtnBmp

DEFINE WINDOW oWnd TITLE "FiveWin Xp Theme-aware bitmaped buttons" ;
COLOR 0, GetSysColor( COLOR_BTNFACE )


@ 2, 2 BUTTONBMP oBtnBmp OF oWnd ACTION MsgInfo( "XP themes aware Button Bitmaps" ) ;
BITMAP "..\bitmaps\16x16\garrow.bmp" MESSAGE "Calendario"


@ 6, 2 BUTTON "From Resources" OF oWnd SIZE 90, 25 ACTION nil MESSAGE "Calendario"

ACTIVATE WINDOW oWnd

return nil
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

Te falta la creación del statusbar. Este ejemplo funciona correctamente:

Code: Select all

// Testing Win32 XP Theme-aware bitmaped buttons
// Important: Use standard buttons on the resources!

#include "FiveWin.ch"

#define COLOR_BTNFACE   15

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

function Main()

   local oWnd, oBtnBmp

   DEFINE WINDOW oWnd TITLE "FiveWin Xp Theme-aware bitmaped buttons" ;
      COLOR 0, GetSysColor( COLOR_BTNFACE )


   @ 2, 2 BUTTONBMP oBtnBmp OF oWnd ACTION MsgInfo( "XP themes aware Button Bitmaps" ) ;
      BITMAP "..\bitmaps\16x16\garrow.bmp"

   @ 4, 2 BUTTONBMP oBtnBmp OF oWnd ACTION MsgInfo( "XP themes aware Button Bitmaps" ) ;
      BITMAP "..\bitmaps\16x16\garrow.bmp" PROMPT "Test" TEXTRIGHT SIZE 80, 25 ;
      MESSAGE "From source code"
      
   @ 6, 2 BUTTON "From Resources" OF oWnd SIZE 90, 25 ACTION FromResources()   

   DEFINE STATUSBAR OF oWnd PROMPT "StatusBar"
      
   ACTIVATE WINDOW oWnd

return nil

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

function FromResources()

   local oDlg
   
   DEFINE DIALOG oDlg RESOURCE "Test"
   
   REDEFINE BUTTONBMP ID 10 OF oDlg ;
      ACTION MsgInfo( "XP themes aware Button Bitmaps" ) ;
      BITMAP "..\bitmaps\16x16\garrow.bmp"
   
   ACTIVATE DIALOG oDlg

return nil

//----------------------------------------------------------------------------//
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

Lo que quiero es que se muestre el mensaje cuando pones el ratón por encima, como si funciona la clausula TOOLTIP de BTNBMP.

He probado con MESSAGE y PROMPT y NO funciona.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

El ejemplo que te he indicado anteriormente funciona correctamente.

Puedes modificarlo para mostrar lo que quieres hacer ? gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

Lo que quiero es que funcione como TOOLTIP de BTNBMP, que NO requiere poner una STATUS bar. ¿Cómo se hace?.

Muchas gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

Code: Select all

   @ 4, 2 BUTTONBMP oBtnBmp OF oWnd ACTION MsgInfo( "XP themes aware Button Bitmaps" ) ;
      BITMAP "..\bitmaps\16x16\garrow.bmp" PROMPT "Test" TEXTRIGHT SIZE 80, 25 ;
      MESSAGE "From source code"
      
   oBtnBmp:cToolTip = "Tooltip text"   
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

¿Y por qué no modificas la clase para que funcione como BTNBMP, añadiendo el método TOOLTIP, pues lo considero imprescindible, el hecho de que pongas el cursor por encima y diga a qué corresponde el botón?.

Un saludo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

Funciona exactamente igual, salvo que no está implementado el usar TOOLTIP en el comando de creación del control. Esto es algo típico en muchos controles de FWH, en donde sólo has de hacer:

<oControl>:cTooTip = cText
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

El problema es que yo defino el control así:

REDEFINE BUTTONBMP BITMAP "BMPCALEN" ID 600 OF oDlg ACTION ( MsgDate(Nil, "Seleccione una fecha", oGet) ) MESSAGE "Calendario"

Es decir, sin poner referencia al objeto, por lo que no puedo poner lo que tu me dices. Creo que es un cambio muy interesante y que no te lleva mucho tiempo, cortar y pegar lo de la clase BTNBMP.

Muchas gracias por tu atención.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Solo tienes que añadir una referencia al objeto:

REDEFINE BUTTONBMP oBmp BITMAP "BMPCALEN" ID 600 OF oDlg ACTION ( MsgDate(Nil, "Seleccione una fecha", oGet) ) MESSAGE "Calendario"
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

¿Tan complicado es que añadas el método a la clase?. Por favor, no te lo pido para hoy, pero creo que no lleva tiempo y es necesario ;). ¿Por qué dos clases que hacen lo mismo tienen sintaxis diferente?.

Muchas gracias. Un saludo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

No, no es complicado y lo vamos a hacer.

Solo te estamos indicando una solución mientras tanto :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio,

Muchas gracias y perdona el malentendido. Siempre he apreciado tu soporte y profesionalidad, y me extrañó que no fueras a mejorar la clase.

Un saludo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Moises,

Tras revisar FiveWin.ch vemos que REDEFINE BUTTON ... no soporta la cláusula TOOLTIP.

Te refieres a TOOLTIP ó a MESSAGE ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

Antonio:

Lo que quiero es que el siguiente TOOLTIP:

REDEFINE BTNBMP RESOURCE "UP" ID 601 OF oDlgTI ACTION (oLbxTI:GoUp() ) NOBORDER TOOLTIP "Arriba"

lo pueda hacer con BUTTONBMP, de modo que cuando pones el cursor del ratón encima del BUTTONBMP aparezca el tooltip, y sin necesidad de statusbar ni nada, sería así:

REDEFINE BUTTONBMP BITMAP "UP" ID 601 OF oDlgTI ACTION (oLbxTI:GoUp() ) MESSAGE "Arriba"


Muchas gracias!!!. Un saludo,
Post Reply