Aproperties Tsay, Timage, tBtnbmp

Aproperties Tsay, Timage, tBtnbmp

Postby J. Ernesto » Thu Feb 02, 2012 7:01 pm

Don Antonio Linares, Daniel Garcia Gil

En un dialog tengo tres tipos de control, Tsay, Tbtnbmp, Timage, usados para desplegar fotos tipo jpg o png, mostradas bajo un criterio de selección.

Al hacer click o doble click sobre una foto debo recuperar el indice del aControls para extrraer el nombre del archivo mostrado y hacer una tarea especifica, lo
lo mismo al hacer click sobre un BtnBmp, cual propiedad de aproperties debo usar para este caso?

Y cómo determino el indice en aControls donde se hizo el click?

y por último donde consigo documentacion sobre aproperties de las claases de fivewin.


Saludos

PD: Hasta ahora he logrado ver lo siguiente.....

@ 000, 142 LISTBOX oBrw ;
FIELDS ;
TRANSFORM ( n, "999,999" ) ,;
oDlg:aControls [ n ]:ClassName () ,;
oDlg:aControls [ n ]:cToolTip ,;
IIF ( oDlg:aControls [ n ]:ClassName () = "TIMAGE",;
oDlg:aControls [ n ]:cBMPFILE ,;
oDlg:aControls [ n ]:cVarName ) ,;
oDlg:aControls [ n ]:Cargo ,;
oDlg:aControls [ n ]:SetText ,;
oDlg:aControls [ n ]:cCaption ;
HEADERS ;
"Indice" ,;
"ClassName" ,;
"cToolTip" ,;
"cBmpFile" ,;
"Cargo" ,;
"SetText" ,;
"cCaption" ;
FIELDSIZES ;
060 ,;
100 ,;
100 ,;
100 ,;
100 ,;
100 ,;
100 ;
SIZE 300, 45 PIXEL FONT oFont2 OF oDlg ;
COLOR nRGB ( 220, 220, 000 ), nRGB ( 000, 065, 033 ) ; && Letras / fondo Verde

oBrw:SetArray ( oDlg:aControls )

oBrw:bGotop := { | | n := 1 }
oBrw:bGoBottom := { | | n := EVAL ( oBrw:bLogicLen ) }
oBrw:bSkip := { | nwant, nold | nold := n , n += nwant ,;
n := MAX ( 1, MIN ( n, EVAL ( oBrw:bLogicLen ) ) ), n - nOld }
oBrw:bLogicLen := { | | LEN ( oDlg:aControls ) }
oBrw:nClrBackFocus := nRGB ( 250, 250, 016 ) && Color del Fondo Amarillo
oBrw:nClrForeFocus := nRGB ( 016, 032, 250 ) && Color del Texto Azul
oBrw:nLineStyle := 5 && Try different line styles !!!
oBrw:lCellstyle := .T. && Dibujar malla
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Aproperties Tsay, Timage, tBtnbmp

Postby Antonio Linares » Thu Feb 02, 2012 9:39 pm

Ernesto,

Prueba asi:
Code: Select all  Expand view

local nAt := AScan( oDlg:aControls, { | oControl | oControl:hWnd == GetFocus() } )
local oControl := oDlg:aControls[ nAt ]

do case
    case oControl:ClassName() == "TBTNBMP"
           return oControl:cBmpFile1

    case oControl:ClassName() == "TIMAGE"
            return oControl:cBmFile
endcase  
 
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: Aproperties Tsay, Timage, tBtnbmp

Postby J. Ernesto » Fri Feb 03, 2012 9:29 pm

Don Antonio

Aun sin resolver, segui su comentario, pero, cuando el control es de la clase tBTMBMP, ok puedo buscar el hilo del archivo que se muestra, pero cuando es con la clase TImage, sequeda con el nAt del tBTMBMP anterior, que otro camino busco..

Gracias
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Aproperties Tsay, Timage, tBtnbmp

Postby J. Ernesto » Fri Feb 03, 2012 9:33 pm

en este link hay una imagen, las fotos que se ven es con TIMAGE, los cuadros vacios es con TBTNBMP

http://www.subirimagenes.com/otros-pant ... 93709.html

Saludos
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Aproperties Tsay, Timage, tBtnbmp

Postby J. Ernesto » Fri Feb 03, 2012 9:52 pm

J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Aproperties Tsay, Timage, tBtnbmp

Postby Antonio Linares » Mon Feb 06, 2012 12:31 pm

Ernesto,

Eso se debe a que un control TImage no toma el foco (normalmente) ya que el usuario no suele interaccionar con él.

Si estas usando un diálogo definido en un RC prueba a ponerle el estilo WS_TABSTOP que haria que pudiese tomar el foco.

Otra solución es modificar el código que te he propuesto pero que cambie GetFocus() por otra condición que pueda ayudarnos a identificar el control. Por ejemplo, podrias anotar en su DATA Cargo un valor que te ayude a localizarle:

local nAt := AScan( oDlg:aControls, { | oControl | oControl:Cargo == ... } )

otra solución es comprobando su nombre de Clase:

local nAt := AScan( oDlg:aControls, { | oControl | oControl:ClassName() == "TIMAGE" } )

posibilidades siempre hay muchas :-)
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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 69 guests