Raymundo Islas M. wrote:Hola Luis,
De hecho asi como lo tengo en este momento, con un SAY.
En las imagenes que puse, podras ver una que tiene XXX con diferentes colores, mismas que quiero eliminar y pintar los dichosos cuadritos de colores.
Saludos
Raymundo:
Esto es un mini-proyecto que estoy desarrollando. Puede ser lo que necesitas para los dichosos cuadritos. Si lo mejoras, agradeceré copia.
Ejemplo del uso:
oRecta:=TRectang():New( 20,20, 30,30, oDlg,, nRGB(255,198,0),nRGB(135,82,40),"", ,1)
Puedes ver el cuadrito en la imagen. ¿Cual? si aún no sé como subirlas.
#include "FiveWin.ch"
#define COLOR_BTNFACE 15
#ifdef __XPP__
#define Super ::TControl
#endif
// Francisco J. Alegría P., Sept 10/2008
/*
Tareas pendientes:
1 Que texto lo ponga donde queramos y del color deseado
2 Metodo SayTexto(nRow, nCol, oFont, nClrFont, nPad, lRect, nClrRect, cBmp)
nPad: xPad..., lRect: Enmarcado o no,
*/
//----------------------------------------------------------------------------//
CLASS TRectang FROM TControl
DATA l3D
DATA nRGB1, nRGB2
CLASSDATA lRegistered AS LOGICAL
METHOD New( nRow, nCol, nHeight, nWidth, oWnd, l3D, nRGB1, nRGB2, cTitle, oFont, nStyle ) CONSTRUCTOR
METHOD Display() INLINE ::BeginPaint(), ::Paint(), ::EndPaint(), 0
METHOD Paint()
ENDCLASS
//----------------------------------------------------------------------------//
METHOD New( nRow, nCol, nHeight, nWidth, oWnd, l3D, nRGB1, nRGB2, cTitle, oFont, nStyle ) CLASS TRectang
local oRect := oWnd:GetCliRect()
DEFAULT nWidth:=100, nHeight:=oWnd:nHeight, l3D := .f.,;
nRGB1:=NIL, nRGB2:=NIL, cTitle:="TITULO", oFont:= NIL, nStyle := 1
nStyle := IF(nStyle==1, nOR( WS_BORDER, WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN ),; //BORDER
nOR( WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN ) ) //NOBORDER
::nStyle = nStyle
::oWnd = oWnd
::nTop = nRow
::nLeft = nCol
::nBottom = nHeight
::nRight = nWidth
::l3D = l3D
::nClrPane = If( l3D, GetSysColor( COLOR_BTNFACE ), CLR_GRAY )
::nRGB1 = nRGB1
::nRGB2 = nRGB2
::cTitle = cTitle
::oFont = oFont
#ifdef __XPP__
DEFAULT ::lRegistered := .f.
#endif
::SetColor( ::nClrText, ::nClrPane )
::Register( nOR( CS_VREDRAW, CS_HREDRAW ) )
::Create()
return Self
//----------------------------------------------------------------------------//
METHOD Paint() CLASS TRectang
local aInfo := ::DispBegin(), oFont
//colores personalizados degradados
Gradient( ::hDC, { 0, 0, ::nHeight, ::nWidth },;
::nRGB1, ::nRGB2, .T. )
if ::oFont == nil
DEFINE FONT oFont NAME "Tahoma" SIZE 0, -12 BOLD
endif
::oWnd:SetFont( oFont )
::Say( 8, 1, xPadC(::cTitle, ::nWidth ), nRGB( 0,0,0 ), nRGB(0,0,0), ::oWnd:oFont, .T., .T.,)
::oWnd:oFont:End()
if ::bPainted != nil
Eval( ::bPainted, ::hDC )
endif
::DispEnd( aInfo )
return nil
[