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..
Tamaño y Coordenadas de msgbar
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
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...
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...
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
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..
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..