FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Aproperties Tsay, Timage, tBtnbmp
Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Aproperties Tsay, Timage, tBtnbmp
Posted: Thu Feb 02, 2012 07: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 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Aproperties Tsay, Timage, tBtnbmp
Posted: Thu Feb 02, 2012 09:39 PM
Ernesto,

Prueba asi:
Code (fw): Select all Collapse
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
Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Re: Aproperties Tsay, Timage, tBtnbmp
Posted: Fri Feb 03, 2012 09: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 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Re: Aproperties Tsay, Timage, tBtnbmp
Posted: Fri Feb 03, 2012 09: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 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Re: Aproperties Tsay, Timage, tBtnbmp
Posted: Fri Feb 03, 2012 09:52 PM

J. Ernesto Pinto Q.
Fwh_x64 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Aproperties Tsay, Timage, tBtnbmp
Posted: 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

Continue the discussion