muchos de los problemas con group, vienen de la forma como ordenamos los controles en un dialogo,
normalmente nosotros los programadores estamos constantemente insertando controles aqui, alla, aca.
y en determinado momento el control se pinta antes del group, luego cuando se pinta el group este oculta los controles que estan por debajo
del group, yo he experimentado este problema, y tengo que recurrir al ordenamiento y numeracion correcta de los items.
si se que cuando el dialogo esta trasparente dan problemas algunas cosas, pero me falta encontrar la situacion correcta para poner un ejemplo
facilmente compilable por AL o D y que ellos ubiquen el problema.
muchos de los problemas reportados no pueden ser facilmente rasteables por fivetech de ahi que ellos pidan que en lo posible
se cree un prg que muestre el error, pero son pocos los que reportan problemas en fwh y que se tomen el tiempo para crear un ejemplo que
reprodusca la falla.
yo en la medida de lo posible, cuando encuentro un problema, creo un ejemplo que lo contenga, y ahora ya primero trato de corregirlo
por mi mismo, ya cuando no puedo o llego a un nivel que no tengo, solicito ayuda a los gurus. esto ha provocado que de aca a un tiempo sepa un poco mas que antes.

, claro yo soy programador por hobby mas que todo y me puedo dar ese lujo de estar contantemente tratando de aprender, se que otros programadores por motivos de trabajo (tiempos de entrega, etc) no pueden darse ese lujo. pero corremos con el riegos de estancarnos si no nos damos tiempo para profundizar en las herramientas que usamos. (hay que conocer el compilador y hasta donde llega su poder, y de fwh como libreria gui)
eso que tu pides (efecto 2010 en btnbmp) lo puedes hacer ya sea alterando la clase como tu mismo piensas, o como te sugirio Daniel mediante parametros que la misma clase tiene, o mi via que es usar los methodos extendidos de xharbour, ahora harbour los soporta tambien con la lib xhb.lib, los cuales permiten alterar las datas y methods de una clase particular ya sea de fwh o cualqueir otra, sin afectar el codigo original. aca pongo un ejemplo.
Code: Select all | Expand
/*procedimiento para reemplazar methodos o agregar nuevos a clases de fwh*/
PROCEDURE OverrideAndExtend()
EXTEND CLASS TFOLDER WITH METHOD RefreshPages
EXTEND CLASS TFOLDER WITH METHOD GoFirstControl
EXTEND CLASS TDIALOG WITH METHOD RefreshDialog
EXTEND CLASS TDIALOG WITH METHOD MySetFocus
EXTEND CLASS TDIALOG WITH METHOD MyCountControl
EXTEND CLASS TCONTROL WITH METHOD MyDisable
EXTEND CLASS TXBROWSE WITH METHOD MyConfig
EXTEND CLASS TXBROWSE WITH METHOD SetMyBmpSort
EXTEND CLASS TPRINTER WITH METHOD Cm2PixX
EXTEND CLASS TPRINTER WITH METHOD Cm2PixY
EXTEND CLASS TPRINTER WITH METHOD SayText
EXTEND CLASS TPRINTER WITH DATA nPxL
EXTEND CLASS TPRINTER WITH DATA nPxC
OVERRIDE METHOD GetDlgCode IN CLASS TButton WITH KGetDlgCode
RETURN
...
FUNCTION KGetDlgCode( nLastKey )
LOCAL Self := HB_QSelf()
::oWnd:nLastKey := nLastKey
DO CASE
CASE ::oWnd:oWnd != NIL .and. ( ::oWnd:oWnd:IsKindOf( "TFOLDER" ) .or. ::oWnd:oWnd:IsKindOf( "TFOLDEREX" ) )
RETURN DLGC_WANTALLKEYS
CASE nLastKey == VK_ESCAPE .and. ::oWnd:oWnd != NIL .and. ( ::oWnd:oWnd:IsKindOf( "TWINDOW" ) .and. ::oWnd:IsKindOf( "TDIALOG" ) )
RETURN DLGC_WANTALLKEYS
ENDCASE
RETURN NIL
/*-------------------------------------------------------------------------------------------------*/
/*funcion nueva para method de tget*/
FUNCTION MyDisable( aNameCtrl )
LOCAL Self := HB_QSelf()
IF ( ::ClassName() IN aNameCtrl )
::bWhen := NIL
::Disable()
ENDIF
RETURN NIL
FUNCTION SetMyBmpSort()
LOCAL Self := HB_QSelf()
LOCAL oBmp, hBmp
::aSortBmp := {}
DEFINE BITMAP oBmp NAME "BMS_ARROWDOWN"
hBmp := oBmp:hBitmap
AAdd( ::aSortBmp, { hBmp, 0, nBmpWidth( hBmp ), nBmpHeight( hBmp ), NIL, FALSE } )
DEFINE BITMAP oBmp NAME "BMS_ARROWUP"
hBmp := oBmp:hBitmap
AAdd( ::aSortBmp, { hBmp, 0, nBmpWidth( hBmp ), nBmpHeight( hBmp ), NIL, FALSE } )
RETURN NIL
...
yo soy de los que piensa, que en fwh por estar poniendo nuevos aspectos y corrigiendo estas florituras (trasparencias/gradients/skins), no se optimiza su timpo en efocarse en aspectos basicos del core (saltos de focos) que a estas alturas deberia estar al 100%, pero lamentablemente todos sabemos que lo que muestres en pantalla influye mucho en el cliente, y a la mayoria de los clientes no le gusta aspectos espartanos.

pero aca estamos, este es el barco y todos debemos apoyarnos para que llegue a buen puerto.
salu2