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
Aproperties Tsay, Timage, tBtnbmp
- J. Ernesto
- Posts: 161
- Joined: Tue Feb 03, 2009 10:08 pm
- Location: Bogotá D.C. Colombia
- Contact:
Aproperties Tsay, Timage, tBtnbmp
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
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
- 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
Ernesto,
Prueba asi:
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
- J. Ernesto
- Posts: 161
- Joined: Tue Feb 03, 2009 10:08 pm
- Location: Bogotá D.C. Colombia
- Contact:
Re: Aproperties Tsay, Timage, tBtnbmp
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
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
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
- J. Ernesto
- Posts: 161
- Joined: Tue Feb 03, 2009 10:08 pm
- Location: Bogotá D.C. Colombia
- Contact:
Re: Aproperties Tsay, Timage, tBtnbmp
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
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
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
- J. Ernesto
- Posts: 161
- Joined: Tue Feb 03, 2009 10:08 pm
- Location: Bogotá D.C. Colombia
- Contact:
Re: Aproperties Tsay, Timage, tBtnbmp
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
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
- 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
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![Smile :-)](./images/smilies/icon_smile.gif)
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
![Smile :-)](./images/smilies/icon_smile.gif)