Página 1 de 1

Como usar Statusbar desde código

Publicado: Mar Ene 31, 2006 3:54 pm
por Bingen Ugaldebere
Tengo un dialog con un statusbar y desde código pretendo añadir unos
item a esta barra y debo de hacer algo mal por que solo aparece el
primer item que pongo el resto ni se ven.
::oStatusBar:AddItem("Hola",100)

::oStatusBar:AddItem("Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
70,"Users"+CRLF+"Active")
y solo sale el primero lo he probado tambien con
oStPanel:=tStatusPanel():Create(::oStatusBar,"Hola",100)
oStPanel2:=tStatusPanel():Create(::oStatusBar,"Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
70,"Users"+CRLF+"Active")
y lo mismo

Como usar Statusbar desde código

Publicado: Mar Ene 31, 2006 8:32 pm
por jrcpoli
Saludos:
Fijate en esto:
WITH OBJECT ::oStatusBar1 := TStatusBar():New( Self )
:SetBounds( 0, 512, 689, 22 )
:nAnchors := akLEFTBOTTOM
:AddItem( "", 200 )
:AddItem( "Federación Colombófila Reg. de Murcia", 250,, 2 )
:AddItem( "Versión 4.1K", 80 )
:AddItem( "Programa Concurso", 100,, 1 )
WITH OBJECT :oImageList
:nWidth := 16
:nHeight := 16
:Add( "paloma16x16" )
:Add( "EscudoFCRM16x16" )
END
:Create()
END
Este StatusBar contiene 4 paneles de control y dos de ellos ademas de texto
tienen un Bitmap, solo tienes que mirar en ayuda la definición de
TStatusBar, y dentro de el AddItem.
Espero que te ayude.
José Ramón Castro
"bingen" <bingen@muninser.com> escribió en el mensaje
news:43df7a1e$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Tengo un dialog con un statusbar y desde código pretendo añadir unos
> item a esta barra y debo de hacer algo mal por que solo aparece el
> primer item que pongo el resto ni se ven.
>
> ::oStatusBar:AddItem("Hola",100)
>
> ::oStatusBar:AddItem("Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
> 70,"Users"+CRLF+"Active")
> y solo sale el primero lo he probado tambien con
>
> oStPanel:=tStatusPanel():Create(::oStatusBar,"Hola",100)
> oStPanel2:=tStatusPanel():Create(::oStatusBar,"Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
> 70,"Users"+CRLF+"Active")
> y lo mismo

Como usar Statusbar desde código

Publicado: Mar Ene 31, 2006 9:56 pm
por jfgimenez
Bingen,
> Tengo un dialog con un statusbar y desde código pretendo añadir unos item
> a esta barra y debo de hacer algo mal por que solo aparece el primer item
> que pongo el resto ni se ven.
acabo de probarlo y sí me añade los items correctamente. Por favor, envíame
un pequeño ejemplo con el problema para probarlo.
--
Un saludo,
José F. Giménez

Como usar Statusbar desde código

Publicado: Mar Ene 31, 2006 11:27 pm
por Jaime Irurzun
Bingen,
Comprueba desde el inspector de objetos del IDE que tengas la propiedad
lSimple a .f. en el StatusBar.
A mí­ me pasó eso hace un tiempo. Si lSimple vale .t. sólo muestra el
texto básico del StatusBar o (creo) el primer StatusPanel que le metas.
Un saludo,
Jaime Irurzun.
_________________________________
Blog sobre informática
www.codigoescrito.com
Sofware doméstico fácil de usar
www.alanit.com
_________________________________
bingen escribió:
> Tengo un dialog con un statusbar y desde código pretendo añadir unos
> item a esta barra y debo de hacer algo mal por que solo aparece el
> primer item que pongo el resto ni se ven.
>
> ::oStatusBar:AddItem("Hola",100)
>
> ::oStatusBar:AddItem("Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
>
> 70,"Users"+CRLF+"Active")
> y solo sale el primero lo he probado tambien con
>
> oStPanel:=tStatusPanel():Create(::oStatusBar,"Hola",100)
> oStPanel2:=tStatusPanel():Create(::oStatusBar,"Users:"+Alltrim(Str(AppData:nUsers))+ "/"+Alltrim(Str(AppData:nLicence)),;
>
> 70,"Users"+CRLF+"Active")
> y lo mismo

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 8:54 am
por Bingen Ugaldebere
Muchas gracias asi ya he conseguido que funcione pero no entiendo que
hacia yo mal.
No sabrás de paso como poner color de fondo y de letra a cada Item y
además como procesar un click sobre cada Item, ya que me parece que
estas opciones no existen.
Veo que se puede colorear el fondo de toda la statusbar y procesar clic
sobre toda ella, pero sobre cada Item no.

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 8:55 am
por Bingen Ugaldebere
Gracias pero no era eso.

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 9:59 am
por jfgimenez
Bingen,
> Muchas gracias asi ya he conseguido que funcione pero no entiendo que
> hacia yo mal.
Posiblemente estuvieras añadiendo los items después de crear la statusbar y
no antes. En cualquier caso, yo lo probé aquí con lo último y funciona en
ambos casos. Quizás la versión anterior tenga ese problema.
> No sabrás de paso como poner color de fondo y de letra a cada Item y
> además como procesar un click sobre cada Item, ya que me parece que estas
> opciones no existen.
Para el click tienes que escribir el evento OnClick de cada item. Y para
cambiar color de fondo y texto es un poquito más complicado: tienes que
poner a .T. la propiedad lOwnerDraw del item correspondiente, y después
escribir el evento OnDrawItem del control.
Ahora mismo no estoy seguro, pero creo que en la PR6a que tienes no
funciona, pero con lo último que hay ahora sí.
--
Un saludo,
José F. Giménez

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 4:02 pm
por miguel
> Ahora mismo no estoy seguro, pero creo que en la PR6a que tienes no
> funciona, pero con lo último que hay ahora sí­.
La que hay disponible en www.xailer.com es PR6a. ¿Cual es la última y como
se obtiene?
--
Saludos.
Miguel A. Torrellas
02/02/2006 16:00:25

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 6:27 pm
por ignacio
Miguel,
Sólo los usuarios registrados han tenido acceso a la 6b. La versión pr 7
será publicada en breve.
Un saludo,
"Miguel A. Torrellas" <miguel@torrellas.net> escribió en el mensaje
news:11sbi5zkxnz4p.1a48mk45jpwbp$[email=.dlg@40tude.net...].dlg@40tude.net...[/email]
>
>> Ahora mismo no estoy seguro, pero creo que en la PR6a que tienes no
>> funciona, pero con lo último que hay ahora sí.
>
> La que hay disponible en www.xailer.com es PR6a. ¿Cual es la última y como
> se obtiene?
>
> --
> Saludos.
> Miguel A. Torrellas
> 02/02/2006 16:00:25

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 6:43 pm
por miguel
El Thu, 2 Feb 2006 18:27:33 +0100, Ignacio Ortiz de Zúñiga escribió:
> Miguel,
>
> Sólo los usuarios registrados han tenido acceso a la 6b. La versión pr 7
> será publicada en breve.
>
La versión PR7 será solo para usuarios registrados y para todos. No me
importa ya que mi decisión ya está tomada de adquirir Xailer. Pero por
aclarar el comentario y por si luego tengo que retocar el código de la
aplicación que estoy desarrollando.
Otra pregunta. ¿Cuando se integra ADO en el IDE?.
Saludos

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 7:59 pm
por jfgimenez
Miguel,
> La versión PR7 será solo para usuarios registrados y para todos. No me
Será para todos. Es decir, que actualizaremos la demo a esa versión.
> importa ya que mi decisión ya está tomada de adquirir Xailer. Pero por
> aclarar el comentario y por si luego tengo que retocar el código de la
> aplicación que estoy desarrollando.
En principio no deberás retocar nada de código, aunque quizás haya alguna
cosita pequeña; ahora mismo no sabría decirte.
Pero lo que sí tendrás que hacer es recompilar completamente todo lo que
tengas, ya sean fuentes tuyos o cualquier otra librería de terceros que
puedas estar usando, ya que hemos actualizado xHarbour y ha habido bastantes
cambios. Eso mismo ya lo han hecho los usuarios de la PR6b y no ha habido
ningún problema.
> Otra pregunta. ¿Cuando se integra ADO en el IDE?.
No es lo más urgente ahora mismo, pero lo haremos en cuanto podamos.
--
Un saludo,
José F. Giménez

Como usar Statusbar desde código

Publicado: Jue Feb 02, 2006 8:34 pm
por miguel
Gracias por las respuestas, seguire trabajando con Xailer y mas ahora que
empiezo a sentirme cómodo con el lenguaje y el IDE.
--
Saludos.
Miguel A. Torrellas
02/02/2006 20:33:36
El 2 Feb 2006 19:59:10 +0100, Jose F. Gimenez escribió:
> Miguel,
>
>> La versión PR7 será solo para usuarios registrados y para todos. No me
>
> Será para todos. Es decir, que actualizaremos la demo a esa versión.
>
>
>> importa ya que mi decisión ya está tomada de adquirir Xailer. Pero por
>> aclarar el comentario y por si luego tengo que retocar el código de la
>> aplicación que estoy desarrollando.
>
> En principio no deberás retocar nada de código, aunque quizás haya alguna
> cosita pequeña; ahora mismo no sabrí­a decirte.
>
> Pero lo que sí­ tendrás que hacer es recompilar completamente todo lo que
> tengas, ya sean fuentes tuyos o cualquier otra librerí­a de terceros que
> puedas estar usando, ya que hemos actualizado xHarbour y ha habido
bastantes
> cambios. Eso mismo ya lo han hecho los usuarios de la PR6b y no ha habido
> ningún problema.
>
>
>> Otra pregunta. ¿Cuando se integra ADO en el IDE?.
>
> No es lo más urgente ahora mismo, pero lo haremos en cuanto podamos.

Como usar Statusbar desde código

Publicado: Vie Feb 03, 2006 10:59 am
por Bingen Ugaldebere
> Posiblemente estuvieras añadiendo los items después de crear la statusbar y
> no antes. En cualquier caso, yo lo probé aquí­ con lo último y funciona en
> ambos casos. Quizás la versión anterior tenga ese problema.
Efectivamente eso era.
> Para el click tienes que escribir el evento OnClick de cada item. Y para
> cambiar color de fondo y texto es un poquito más complicado: tienes que
> poner a .T. la propiedad lOwnerDraw del item correspondiente, y después
> escribir el evento OnDrawItem del control.
Para el clic lo he hecho asi y funciona, no se si será muy ortodoxo pero...
oStatusBar:aItems[2]:OnClick:={ || Msginfo("hola") }
Pero no entiendo como cambiar los colores con en evento OnDrawItem.
Salu2 y gracias.

Como usar Statusbar desde código

Publicado: Vie Feb 03, 2006 11:26 am
por jfgimenez
Bingen,
> Para el clic lo he hecho asi y funciona, no se si será muy ortodoxo
> pero...
> oStatusBar:aItems[2]:OnClick:={ || Msginfo("hola") }
Es correcto. Se puede asignar tanto un bloque de código como un nombre de
método.
> Pero no entiendo como cambiar los colores con en evento OnDrawItem.
Cuando el item tiene su propiedad lOwnerDraw a .T., hay que pintarlo
completamente. Podría ser algo así:
METHOD StatusBar1DrawItem( oSender, hDC, nItem, aRect ) CLASS TForm1
LOCAL oBrush := TBrush():Create( , clNavy )
FillRect( hDC, aRect, oBrush:Handle )
SetBkMode( hDC, TRANSPARENT )
SetTextColor( hDC, clWhite )
TextOut( hDC, aRect[1] + 2, aRect[2] + 2, "Prueba" )
TBrush():Destroy()
RETURN Nil
--
Un saludo,
José F. Giménez

Como usar Statusbar desde código

Publicado: Vie Feb 03, 2006 2:20 pm
por Bingen Ugaldebere
Bien ya veo, un poco complicadillo me parece creo que prescindiré del
color, jejeje.

Como usar Statusbar desde código

Publicado: Vie Feb 03, 2006 4:30 pm
por ignacio
Bingen,
Sólo tienes que copiar y pegar. Y además no es tan complicado, se usan
funciones del GDI muy básicas.
Un saludo,
"bingen" <bingen@muninser.com> escribió en el mensaje
news:[email=43e358bc@ozsrvnegro.ozlan.local...]43e358bc@ozsrvnegro.ozlan.local...[/email]
> Bien ya veo, un poco complicadillo me parece creo que prescindiré del
> color, jejeje.