Page 1 of 2
error en BUTTONBMP
Posted: Mon Sep 24, 2007 11:55 am
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
Posted: Mon Sep 24, 2007 3:13 pm
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
//----------------------------------------------------------------------------//
Posted: Mon Sep 24, 2007 3:29 pm
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.
Posted: Tue Sep 25, 2007 8:17 pm
by Antonio Linares
Moises,
El ejemplo que te he indicado anteriormente funciona correctamente.
Puedes modificarlo para mostrar lo que quieres hacer ? gracias
Posted: Wed Sep 26, 2007 7:44 am
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.
Posted: Wed Sep 26, 2007 7:48 am
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"
Posted: Wed Sep 26, 2007 3:47 pm
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
Posted: Wed Sep 26, 2007 5:19 pm
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
Posted: Wed Sep 26, 2007 6:13 pm
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.
Posted: Thu Sep 27, 2007 8:39 pm
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"
Posted: Fri Sep 28, 2007 8:15 am
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
Posted: Fri Sep 28, 2007 11:00 pm
by Antonio Linares
Moises,
No, no es complicado y lo vamos a hacer.
Solo te estamos indicando una solución mientras tanto
Posted: Mon Oct 01, 2007 8:03 am
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
Posted: Wed Oct 03, 2007 5:57 am
by Antonio Linares
Moises,
Tras revisar FiveWin.ch vemos que REDEFINE BUTTON ... no soporta la cláusula TOOLTIP.
Te refieres a TOOLTIP ó a MESSAGE ?
Posted: Wed Oct 03, 2007 3:02 pm
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,