SetGetColorFocus

SetGetColorFocus

Postby fergonm » Wed Jul 16, 2014 10:02 am

Buenos días.
Intento cambiar el color de los GET,s al posicionar sobe ellos mediante la función SetGetColorFocus() colocada en el programa principal. Me da el siguiente error de compilación:
Error: Unresolved external '_HB_FUN_SETGETCOLORFOCUS' referenced from
Necesito ayuda.
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: SetGetColorFocus

Postby karinha » Wed Jul 16, 2014 12:42 pm

c:\fwh1306\samples\gunther3.prg

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: SetGetColorFocus

Postby FranciscoA » Wed Jul 16, 2014 3:20 pm

Hola Fernando.
Que version usas?
Esta function esta disponible desde Octubre 2007 segun WhatNews.
En mi version 1204 esto trabaja bien, desde Function Main(): SetGetColorFocus( RGB(252,232,191) ) //color fondo de gets cuando tienen el foco

Tambien puedes intentar, en cada ventana, con:
Code: Select all  Expand view
 AEval( oWndChild:aControls,{|o| if(o:ClassName()=="TGET",;
         ( o:bGotFocus  := {|o|o:SetColor( RGB(0,0,0), RGB(252,232,191) )} ,;
           o:bLostFocus := {|o|o:SetColor( CLR_BLACK, CLR_WHITE )} ),) } )
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: SetGetColorFocus

Postby fergonm » Wed Jul 16, 2014 3:46 pm

Muchas gracias a los dos por contestar.
Tengo la versión 7.07 de julio de 2007. En la ayuda suministrada aparece la función, por lo que he supuesto que está disponible.
Francisco he intentado lo que me dices y me da el siguiente error
Code: Select all  Expand view
Application
===========
   Path and name: D:\Personal\peritoprueba\perito.Exe (32 bits)
   Size:   672,256 bytes
   Time from start: 0 hours 0 mins 5 secs
   Error occurred at: 16-07-2014, 17:38:09
   Error description: Error BASE/2017  Error de argumento: AEVAL
   Args:
     [   1] = U  
     [   2] = B   {|| ... }

Stack Calls
===========
   Called from:  => AEVAL(0)
   Called from: D:\Personal\peritoprueba\PRG\perito32.prg => MAIN(199)
 


lo sigo intentando
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: SetGetColorFocus

Postby FranciscoA » Wed Jul 16, 2014 4:50 pm

Fernando:
Creo que no expliqué bien. Su uso es en cada dialog o ventana, segun el codigo de ejemplo siguiente:
Code: Select all  Expand view
Function Recibo()
local  oDlg, nRcaja,dFecha

   DBSELECTAREA("RCAJAG")

DEFINE DIALOG oDlg RESOURCE "GRABAR"  TITLE "Prueba"

REDEFINE GET oRcaja   VAR nRcaja   ID 101 OF oDlg PICTURE "@!"

REDEFINE GET oFecha     VAR dFecha     ID 102 OF oDlg

   REDEFINE BUTTONBMP ID 309 OF oDlg BITMAP "ACEPTAR" TEXTRIGHT  ACTIO MsgInfo("Hola")
   REDEFINE BUTTONBMP ID 310 OF oDlg BITMAP "CANCELAR" TEXTRIGHT   ACTION ( oDlg:End() )
 
  AEval( oDlg:aControls,{|o| if(o:ClassName()=="TGET",;
         ( o:bGotFocus  := {|o|o:SetColor( RGB(0,0,0), RGB(252,232,191) )} ,;
           o:bLostFocus := {|o|o:SetColor( CLR_BLACK, CLR_WHITE )} ),) } )

   ACTIVATE DIALOG oDlg CENTERED
 RETURN( NIL )
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: SetGetColorFocus

Postby acuellar » Wed Jul 16, 2014 6:13 pm

Amigos

Se puede hacer lo mismo para BTNBMP que cambie de color el texto cuando el mouse está sobre el botón

He hecho esto:

Code: Select all  Expand view

   REDEFINE BTNBMP oBtn 101 OF oDlg RESOURCE "Boton1",Nil,Nil,"Boton2" PROMPT "Aceptar" ACTION MiFuncion()
   REDEFINE BTNBMP oBtn 102 OF oDlg RESOURCE "Boton1",Nil,Nil,"Boton2" PROMPT "Cancelar" ACTION oDlg:End()
    oBtn:bMMoved:= {|| oBtn:SetColor( CLR_BLUE ) }

 

Se pone en azúl, pero no se como volverlo a negro cuando pasa al otro.

Gracias por la ayuda

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: SetGetColorFocus

Postby Antonio Linares » Thu Jul 17, 2014 7:39 am

Adhemar,

para conseguir esa funcionalidad tienes que usar:

#define WM_MOUSELEAVE 675
#define TME_LEAVE 2

Desde el Método MouseMove( nRow, nCol, nFlags ) tienes que llamar a:

TrackMouseEvent( ::hWnd, TME_LEAVE )

Desde el método HandleEvent( nMsg, nWParam, nLParam )

if nMsg == WM_MOUSELEAVE
return ::MouseLeave( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )
endif

Y en MouseLeave() se restaura el color que desees.

Busca por WM_MOUSELEAVE en las Classes de FWH y verás como lo usamos :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SetGetColorFocus

Postby acuellar » Thu Jul 17, 2014 5:01 pm

Gracias Antonio

He modificado el método:
Code: Select all  Expand view

METHOD MouseLeave( nRow, nCol, nFlags ) CLASS TBtnBmp

   ::lMOver = .F.
   ::Refresh()
   ::SetColor( CLR_BLACK )  //Agregada
return nil
 


Al compilar me da este error

Code: Select all  Expand view

Error description: Error BASE/1003  No existe la variable: SUPER

Stack Calls
===========
   Called from: D:\Sistemas\RRHH\DATA\PRG\btnbmp.prg => TBTNBMP:SETCOLOR( 0 )
   Called from: D:\Sistemas\RRHH\DATA\PRG\btnbmp.prg => TBTNBMP:NEWBAR( 0 )
   Called from: D:\Sistemas\RRHH\DATA\PRG\RRHH.PRG => MAIN( 0 )

 


Gracias por la ayuda

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: SetGetColorFocus

Postby hmpaquito » Thu Jul 17, 2014 5:25 pm

En el fuente cambia todos los
Code: Select all  Expand view
Super
por
Code: Select all  Expand view
::Super
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: SetGetColorFocus

Postby acuellar » Thu Jul 17, 2014 5:47 pm

Gracias amigos

Funcionó perfecto.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: SetGetColorFocus

Postby fergonm » Fri Jul 18, 2014 10:50 am

Buenos días.

Muchas gracias a todos. Pruebo y ya les contaré.
Un saludo
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: SetGetColorFocus

Postby fergonm » Fri Jul 18, 2014 11:03 am

Fernando:
Creo que no expliqué bien. Su uso es en cada dialog o ventana, segun el codigo de ejemplo siguiente:


Francisco.

Te entendí mal, disculpas. Funciona correctamente.
Un saludo. Fernando
Saludos. Fernando
fergonm
 
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Re: SetGetColorFocus

Postby joseluisysturiz » Sat Jul 19, 2014 2:39 am

fergonm wrote:Buenos días.
Intento cambiar el color de los GET,s al posicionar sobe ellos mediante la función SetGetColorFocus() colocada en el programa principal. Me da el siguiente error de compilación:
Error: Unresolved external '_HB_FUN_SETGETCOLORFOCUS' referenced from
Necesito ayuda.

Probastes usando al princio de los prg esto.? saludos... :shock:

TGet():lDisColors := .f.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 38 guests