en el foro en inglés Rick Lipkin preguntó como cambiar el color del rectángulo que se dibuja en un control tipo 'GROUP'. Recibió varias respuestas, entre ellas la de usar el control TPanel como reemplazo, y es en definitiva lo que quiero hacer.
He logrado hacerlo, pero... con algunos efectos colaterales no deseados: los controles no responden a los clicks del ratón. Adjunto un ejemplo de como lo estoy usando. Seguramente debe faltarle algun detalle "de las tripas" de Windows, pero no sé por donde tirar.
- Code: Select all Expand view
Local nMargen:= ((ScreenWidth()-1280)/2)
cLogin := Space(20)
cPassword := Space(20)
DEFINE DIALOG oDlg STYLE nOr( WS_BORDER, WS_POPUP ) SIZE ScreenWidth(),ScreenHeight()-200 COLOR GRIS, 0xffffff
@ 41, nMargen SAY oSay PROMPT "Aplicacion" /* SIZE 100, 40 */ PIXEL FONT oFontB COLOR CLR_GREEN
oSay:SetFont( oFontB )
/* This is what's been replaced
@ 60, nMargen GROUP ;
TO 215, nMargen + 200 ;
OF oDlg ;
PIXEL TRANSPARENT ;
COLOR CLR_GREEN
*/
oPanel:= TPanel():New( 60, nMargen, 215, nMargen + 200, oDlg )
oPanel:bPainted:= {|hDC, cPS| ;
RoundBox( hDC, 0, 0, oPanel:nWidth-1, oPanel:nHeight-1, 8, 8, 0xaaaaaa, 1 ) ;
}
@ 80, nMargen + 40 SAY "Introduzca Usuario y Contraseña" PIXEL SIZE 100, 10
@ 105, nMargen + 40 SAY "Usuario" SIZE 45, 10 PIXEL
@ 117, nMargen + 40 GET cLogin PIXEL SIZE 100, 14 ;
ACTION MsgInfo('Hola' ) ;
BITMAP "USER_16"
@ 135, nMargen + 40 SAY "Password:" SIZE 45, 10 PIXEL
@ 147, nMargen + 40 GET oGet var cPassword PIXEL SIZE 100, 14 PASSWORD UPDATE ;
ACTION MsgInfo('Hola' ) ;
BITMAP "KEY_16"
@ 175, nMargen + 40 BTNBMP oBtnEntrar SIZE 60, 20 PROMPT "Acceder" ACTION oDlg:End() /*When lok*/ update LEFT 2007 RESOURCE "cog"
@ 175, nMargen + 120 BTNBMP oBtnSalir SIZE 60, 20 PROMPT "Salir" action oDlg:End() LEFT 2007 RESOURCE "cubes"
ACTIVATE DIALOG oDlg CENTERED
Se muestra todo correctamente, el dialogo responde al teclado, pero es imposible hacer click en ningún control. También probé de poner el TPanel después de la declaración de los controles, pero en ese caso los controles quedan ocultos detrás del TPanel.
Estoy seguro de que es una cosita de nada, pero no logro verla.
Tal vez tenga que probar con otro control? Alguien ha hecho algo parecido?
TIA