METHOD Paint() CLASS TGet
local aInfo := ::DispBegin()
Local hOldFont
//-> Mudan‡as Feitas em 22/12/2005 Por Antonio Linares
//-> Para que o When(.F.) do GET, fique colorido normal. Muito bom. Joao.
if ::oBrush != nil
FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
else
CallWindowProc( ::nOldProc, ::hWnd, WM_ERASEBKGND, ::hDC, 0 )
endif
if IsWindowEnabled( ::hWnd )
CallWindowProc( ::nOldProc, ::hWnd, WM_PAINT, ::hDC, 0 )
//-> Para BTNGET.PRG Quando o RIGHT Esta ligado no WorkShop.exe
//-> Modificado em 20/02/2008 - Por Joao Santos
SetTextColor( ::hDC, ::nClrText )
SetBkColor( ::hDC, ::nClrPane )
hOldFont = SelectObject( ::hDC, ::oFont:hFont )
do case
case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT )
SetTextAlign( ::hDC, TA_RIGHT )
ExtTextOut( ::hDC, 0, ::nWidth() - 44, ;
{ 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
endcase
else
SetTextColor( ::hDC, ::nClrText )
SetBkColor( ::hDC, ::nClrPane )
hOldFont = SelectObject( ::hDC, ::oFont:hFont )
do case
case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_CENTER )
SetTextAlign( ::hDC, TA_CENTER )
ExtTextOut( ::hDC, 0, ::nWidth() / 2, ;
{ 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
case lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), ES_RIGHT )
SetTextAlign( ::hDC, TA_RIGHT )
ExtTextOut( ::hDC, 0, ::nWidth() - 4, ;
{ 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
otherwise
SetTextAlign( ::hDC, TA_LEFT )
//-> Posicao do Get
ExtTextOut( ::hDC, 0, 4, ;
{ 0, 0, ::nHeight(), ::nWidth() }, GetWindowText( ::hWnd ) )
endcase
SelectObject( ::hDC, hOldFont )
endif
if ValType( ::bPainted ) == "B"
Eval( ::bPainted, ::hDC, ::cPS, Self )
endif
::DispEnd( aInfo )
return 1
Local Color1,Color2,Color3...
Color1:=RGB(0,0,0)
Color2:=RGB(255,255,255)
Color3:=RGB(128,128,128)
REDEFINE GET cRefe ID 10 COLOR Color1,Color2 WHEN .F.
jrestojeda wrote:Hola amigo.
Puedes usar los colores que quieras con la función RGB(,,)
Los parámetros de RGB() van de 0 a 255 de esa forma con los tres parámetros tienes los colores que quieras.
- Code: Select all Expand view
Local Color1,Color2,Color3...
Color1:=RGB(0,0,0)
Color2:=RGB(255,255,255)
Color3:=RGB(128,128,128)
REDEFINE GET cRefe ID 10 COLOR Color1,Color2 WHEN .F.
Color1 es el color de la letra del GET y Color2 el color del fondo, Color3 solo está definido para que veas que se pueden definir tantos colores como quieras y obviamente usarlos.
Espero te sirva.
Saludos desde Argentina, Esteban.
if ::lDisColors
SetTextColor( ::hDC, GetSysColor( COLOR_GRAYTEXT ) )
SetBkColor( ::hDC, GetSysColor( COLOR_WINDOW ) )
else
SetTextColor( ::hDC, ::nClrText )
SetBkColor( ::hDC, ::nClrPane )
endif
if ::lDisColors
SetTextColor( ::hDC, GetSysColor( COLOR_GRAYTEXT ) )
SetBkColor( ::hDC, GetSysColor( COLOR_WINDOW ) )
else
if ValType( ::nClrTextDis ) == "B"
SetTextColor( ::hDC, Eval( ::nClrTextDis ) )
elseif ValType( ::nClrTextDis ) == "N"
if ::nClrTextDis <> 0
SetTextColor( ::hDC, ::nClrTextDis )
else
SetTextColor( ::hDC, ::nClrText )
endif
endif
if ValType( ::nClrPaneDis ) == "B"
SetBkColor( ::hDC, Eval( ::nClrPaneDis ) )
elseif ValType( ::nClrPaneDis ) == "N"
if ::nClrPaneDis <> 0
SetBkColor( ::hDC, ::nClrPaneDis )
else
SetBkColor( ::hDC, ::nClrPane )
endif
endif
endif
mcfox wrote:la clase tiene una data que se llama
lDisColors por default esta activada, cuando la desactivas, los colores del disable se pintan igual que el enable...
mcfox wrote:mcfox wrote:la clase tiene una data que se llama
lDisColors por default esta activada, cuando la desactivas, los colores del disable se pintan igual que el enable...
pense que eso seria un problema...
con los cambios que hice, pense en pintar diferente los colores del get cuando estan disable y no que tengan el mismo aspecto que los get que estan enable...
usando solo lDisColors:=.f. todos los get tendran el mismo color, como saber a simple vista cual esta enable y disable??
mcfox wrote:como haces para tener un color diferente en los get que estan disable sin modificar la clase?
me iteresaria mucho saber para volver a poner mi antigua tget y usar el codigo original en mis sistemas
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: russimicro and 56 guests