Aproperties Tsay, Timage, tBtnbmp

Post Reply
User avatar
J. Ernesto
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia
Contact:

Aproperties Tsay, Timage, tBtnbmp

Post by J. Ernesto »

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
Antonio Linares
Site Admin
Posts: 42520
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 75 times
Contact:

Re: Aproperties Tsay, Timage, tBtnbmp

Post by Antonio Linares »

Ernesto,

Prueba asi:

Code: Select all | Expand


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
J. Ernesto
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia
Contact:

Re: Aproperties Tsay, Timage, tBtnbmp

Post by J. Ernesto »

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
Contact:

Re: Aproperties Tsay, Timage, tBtnbmp

Post by J. Ernesto »

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
Contact:

Re: Aproperties Tsay, Timage, tBtnbmp

Post by J. Ernesto »

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
Antonio Linares
Site Admin
Posts: 42520
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 75 times
Contact:

Re: Aproperties Tsay, Timage, tBtnbmp

Post by Antonio Linares »

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
Post Reply