Hola, aqui os paso un código cuyo comportamiento no termino de comprender.
Se supone que pinto un cuadro, y encima del cuadro tengo "label" y "textbox".
Para hace la prueba con el ENABLED cuando nos deplazamos con ENTER me desaparecen los LABEL del pantalla al hacer un
esto Form_1.Text_3.Enabled:=.f.
¿Alguien tiene solución...?
Code: Select all
/*
* HMG - Harbour Win32 GUI library Demo
*
* Copyright 2002 Roberto Lopez <mail.box.hmg@gmail.com>
* http://www.hmgforum.com//
*/
#include "hmg.ch"
Function Main
SET NAVIGATION EXTENDED
SET EPOCH TO 2000
SET CENTURY ON
SET DATE FRENCH
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'HMG Demo' ;
MAIN
DEFINE MAIN MENU
DEFINE POPUP 'Test'
MENUITEM 'Set Text_1 Value' ACTION Form_1.Text_1.Value := Date()
MENUITEM 'Set Text_2 Value' ACTION Form_1.Text_2.Value := ctod (' / / ')
MENUITEM 'Set Text_3 Value' ACTION Form_1.Text_3.Value := ctod('01/01/2005')
MENUITEM 'Set Text_1 ReadOnly' ACTION Form_1.Text_1.ReadOnly := .T.
MENUITEM 'Clear Text_1 ReadOnly' ACTION Form_1.Text_1.ReadOnly := .F.
SEPARATOR
MENUITEM 'Get Text_1 Value' ACTION MsgInfo ( dtoc ( Form_1.Text_1.Value ) )
MENUITEM 'Get Text_2 Value' ACTION MsgInfo ( dtoc ( Form_1.Text_2.Value ) )
MENUITEM 'Get Text_3 Value' ACTION MsgInfo ( dtoc ( Form_1.Text_3.Value ) )
END POPUP
END MENU
// QUIERO DIBUJAR UN RECUADRO TRASPARENTE
_Caja(100,50,400,300,RED,BLUE)
@ 120,100 LABEL LB1 VALUE "TOMA"
@ 120,210 TEXTBOX Text_1 ;
VALUE ctod('01/01/2004') ;
TOOLTIP 'Date TextBox 1' ;
DATE ;
ON ENTER(IF(Empty(Form_1.Text_1.Value),Form_1.Text_1.setfocus,nil),(Form_1.Text_3.Enabled:=.t.) ) ;
@ 150,100 LABEL LB2 VALUE "TOMA2"
@ 150,210 TEXTBOX Text_2 ;
VALUE Date() ;
TOOLTIP 'Date TextBox 2' ;
DATE ;
ON ENTER (Form_1.Text_3.Enabled:=.f.)
@ 180,100 LABEL LB3 VALUE "TOMA2"
DEFINE TEXTBOX Text_3
ROW 180
COL 210
DATE .T.
END TEXTBOX
END WINDOW
Form_1.Center
Form_1.Activate
Return Nil
// -------------------------------------------------------------------
// DIBUJA UN RECTANGULO
// Parametros.
// nFil : Fila Inicial
// nCol : Columna Inicial
// nAncho: Ancho de la ventana <>
// nAlto : Alto de la Ventana ^
// Color : Color de las lineas
// ColorFondo : Color de fondo. Por defecto trasparente.
//--------------------------------------------------------------------
PROC _Caja(nFil,nCol,nAncho,nAlto,Color,ColorFondo)
LOCAL Win:="Form_1"
DEFAULT ColorFondo:=""
// Veo el tipo de cuadro
IF Empty(ColorFondo)
// Línea Exterior
DRAW LINE in WINDOW &Win at nFil,nCol TO nFil, nAncho ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil+nAlto,nCol TO nFil+nAlto, nAncho ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil,nCol TO nFil+nAlto, nCol ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil,nAncho TO nFil+nAlto, nAncho ;
PENCOLOR Color PENWIDTH 1
// Línea Interior
DRAW LINE in WINDOW &Win at nFil+2,nCol TO nFil+2, nAncho ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil+nAlto-2,nCol TO nFil+nAlto-2, nAncho ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil+2,nCol-2 TO nFil+nAlto-2, nCol-2 ;
PENCOLOR Color PENWIDTH 1
DRAW LINE in WINDOW &Win at nFil+2,nAncho+2 TO nFil+nAlto-2, nAncho+2 ;
PENCOLOR Color PENWIDTH 1
ELSE
DRAW ROUNDRECTANGLE IN WINDOW &Win ;
AT nFil,nCol TO nAlto,nAncho ;
ROUNDWIDTH 15 ROUNDHEIGHT 15 ;
PENCOLOR color PENWIDTH 2 ;
FILLCOLOR ColorFondo
ENDIF
RETURN