Tamaño y Coordenadas de msgbar

Tamaño y Coordenadas de msgbar

Postby cuatecatl82 » Tue Aug 14, 2007 3:33 pm

Saludos de nuevos a todo los colegas del foro y de nuevo para molestarlos :? :

:) Resulta que estoy usando en mi sistema la clase TAssist de Juan Carlos Salinas Ojeda, la cual muestra un asistente animado estilo Office.

Dicho asistente lo muestro en la parte inferior derecha de la pantalla, justo arriba de la barra donde se muestra la hora y la fecha de fivewin o más bien conocida como MsgBar.

La pregunta es: ¿Cómo puedo saber las coordenadas para la altura y el largo de la barra de tal manera que no quede ni arriba ni abajo? ya que cuando se cambian los temas de XP o se oculta la barra de inicio de Windows, la barra Msgbar tiende a quedar siempre en el fondo de la pantalla.

Les dejo la imagen para que se den una idea:
http://img520.imageshack.us/my.php?image=dibujo1vq8.jpg

En la Clase TAssist.prg modifique la linea donde activa el asistente, de tal forma que le asigno la ubicación en donde se va a mostrar:

ACTIVATE DIALOG ::oDlg NOWAIT ON INIT (SetWindowPos( ::hWnd,-1,0,0,0,0,3), ::Move(635,945))

Les agradesco de antemano sus respuestas.. :wink:
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Postby Antonio Linares » Tue Aug 14, 2007 6:15 pm

oMsgBar:nWidth()
oMsgBar:nHeight()

ó

oWnd:oBottom:nWidth()
oWnd:oBottom:nHeight()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby cuatecatl82 » Wed Aug 15, 2007 12:40 am

Estimado Maestro Antonio Linares:

Le Comento que agrege uno a uno los códigos y este fue el resultado

msginfo(oWndMain:oMsgBar:nWidth())
msginfo(oWndMain:oMsgBar:nHeight())

Lo que se indica con estos mensajes es el tamaño en pixeles de alto y largo de la barra, auque no estoy seguro ya que de alto si son 24 pixeles, pero de largo no son 540 que es lo qie indica, sino 1024.

Lo que necesito saber es a que altura o coordenada del escritorio esta la altura de la barra.

Saludos...
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México

Postby Antonio Linares » Wed Aug 15, 2007 7:17 am

>
Lo que necesito saber es a que altura o coordenada del escritorio esta la altura de la barra.
>

MsgInfo( GetSysMetrics( 1 ) - oWnd:oMsgBar:nHeight() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby cuatecatl82 » Thu Aug 16, 2007 2:46 pm

Maestro Antonio Linares:

Le comento que estuve haciendo pruebas con los ejemplos que me dio, pero sigue sin funcionar, pero usted me dio una idea de como solucionarlo lo que hize fue lo siguiente:

LOCAL nColumna:= 950
LOCAL nAltura:= 78 (Altura del Dialogo en Pixeles)
LOCAL nLinea:= GetSysMetrics(17) - nAltura
...
Activate Dialog oDlg on init oDlg:Move(nLinea, nColumna)

Funciona, pero el algunas ocaciones lo pociciona unos pixeles arriba o abajo, de todas maneras con esta base ya puedo empezar a buscar como resolverlo, lo unico que no entiendo y no se si sea lo correcto es si es posible saber la altura de la barra de mensajes lo hago así:

msginfo(oWndMain:oMsgBar:nHeight())
msginfo(oWndMain:oMsgBar:Height)

ya que siempre me da 24, aunque visualmente el tamaño cambia.

Saludos y nuevamente gracias..
User avatar
cuatecatl82
 
Posts: 625
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 72 guests