Ocultar barra de herramientas flotante

19/02/2004 - 14:36 por JIGE | Informe spam
Hola a todos:

Tengo una aplicación en la que utilizo varias barras de herramientas,
una de las cuales la tengo implementada como barra de herramientas flotante
(el resto van fijas). Tengo puesta en el programa una opción para que el
usuario pueda ocultar/mostrar las barras de herramientas que desee. Para
ello utilizo la función ShowWindow, de manera que, en función de la barra de
herramientas elegida, ésta es mostrada o no. El problema lo tengo con la
barra de herramientas flotante, ya que, cuando selecciono la opción de
ocultar la barra, lo único que hace es ocultar los botones de la barra
flotante, pero no la ventana en sí, de manera que ésta sigue siendo visible.
¿Cómo puedo hacer para que me oculte la barra de herramientas flotante al
completo sin mostrar la ventana vacía?

Por otro lado, la barra de herramientas flotante muestra la clásica "X"
en la esquina superior derecha, para poder cerrar la ventana, y me gustaría
quitar dicha "x" para que el usuario no pueda cerrarla, sino que tenga que
utilizar directamente la opción de mostrar/ocultar para poder dejar de
visualizar la misma. ¿alguien podría ayudarme con esto?

Muchas gracias por vuestro interés.

Saludos,

JIGE

Preguntas similare

Leer las respuestas

#1 pablo crosio
19/02/2004 - 15:30 | Informe spam
jige:

con respecto al segundo punto aqui tienes un par de links
para deshabilitar la "x":

http://www.codeguru.com/dialog/disable_close.shtml

http://www.codeproject.com/tips/disableClose.asp

salu2!!

pablo

Hola a todos:

Tengo una aplicación en la que utilizo varias barras


de herramientas,
una de las cuales la tengo implementada como barra de


herramientas flotante
(el resto van fijas). Tengo puesta en el programa una


opción para que el
usuario pueda ocultar/mostrar las barras de herramientas


que desee. Para
ello utilizo la función ShowWindow, de manera que, en


función de la barra de
herramientas elegida, ésta es mostrada o no. El problema


lo tengo con la
barra de herramientas flotante, ya que, cuando selecciono


la opción de
ocultar la barra, lo único que hace es ocultar los


botones de la barra
flotante, pero no la ventana en sí, de manera que ésta


sigue siendo visible.
¿Cómo puedo hacer para que me oculte la barra de


herramientas flotante al
completo sin mostrar la ventana vacía?

Por otro lado, la barra de herramientas flotante


muestra la clásica "X"
en la esquina superior derecha, para poder cerrar la


ventana, y me gustaría
quitar dicha "x" para que el usuario no pueda cerrarla,


sino que tenga que
utilizar directamente la opción de mostrar/ocultar para


poder dejar de
visualizar la misma. ¿alguien podría ayudarme con esto?

Muchas gracias por vuestro interés.

Saludos,

JIGE


.

Respuesta Responder a este mensaje
#2 JIGE
19/02/2004 - 18:23 | Informe spam
Gracias por la ayuda, pero no me sirve... :-(

Las soluciones propuestas me permiten deshabilitar la opción de cerrar
(la "x") en el menú de la aplicación o de un cuadro de diálogo, pero no me
sirve para la barra de herramientas, ya que en ese caso me devuelve un
puntero nulo cuando llamo a GetSytemMenu(FALSE).

¿Alguien conoce alguna otra solución?

Saludos,

JIGE

"pablo crosio" escribió en el mensaje
news:1337b01c3f6f4$f4523ff0$


jige:

con respecto al segundo punto aqui tienes un par de links
para deshabilitar la "x":

http://www.codeguru.com/dialog/disable_close.shtml

http://www.codeproject.com/tips/disableClose.asp

salu2!!

pablo

Hola a todos:

Tengo una aplicación en la que utilizo varias barras


de herramientas,
una de las cuales la tengo implementada como barra de


herramientas flotante
(el resto van fijas). Tengo puesta en el programa una


opción para que el
usuario pueda ocultar/mostrar las barras de herramientas


que desee. Para
ello utilizo la función ShowWindow, de manera que, en


función de la barra de
herramientas elegida, ésta es mostrada o no. El problema


lo tengo con la
barra de herramientas flotante, ya que, cuando selecciono


la opción de
ocultar la barra, lo único que hace es ocultar los


botones de la barra
flotante, pero no la ventana en sí, de manera que ésta


sigue siendo visible.
¿Cómo puedo hacer para que me oculte la barra de


herramientas flotante al
completo sin mostrar la ventana vacía?

Por otro lado, la barra de herramientas flotante


muestra la clásica "X"
en la esquina superior derecha, para poder cerrar la


ventana, y me gustaría
quitar dicha "x" para que el usuario no pueda cerrarla,


sino que tenga que
utilizar directamente la opción de mostrar/ocultar para


poder dejar de
visualizar la misma. ¿alguien podría ayudarme con esto?

Muchas gracias por vuestro interés.

Saludos,

JIGE


.

Respuesta Responder a este mensaje
#3 Hernán
19/02/2004 - 18:36 | Informe spam
"JIGE" escribía,

Gracias por la ayuda, pero no me sirve... :-(

Las soluciones propuestas me permiten deshabilitar la opción de cerrar
(la "x") en el menú de la aplicación o de un cuadro de diálogo, pero no me
sirve para la barra de herramientas, ya que en ese caso me devuelve un
puntero nulo cuando llamo a GetSytemMenu(FALSE).

¿Alguien conoce alguna otra solución?




En el campo style del WNDCLASS de la ventana mandale un CS_NOCLOSE.

Saludos,

JIGE





Hernán (27)
Quilmes (ar)
Respuesta Responder a este mensaje
#4 Cholo Lennon
19/02/2004 - 19:27 | Informe spam
Si estás utilizando MFC debes usar 'CFrameWnd::ShowControlBar' no
'ShowWindow'.

// Mostrar
ShowControlBar(&m_wndTuBarra, TRUE, FALSE);

// Ocultar
ShowControlBar(&m_wndTuBarra, FALSE, FALSE);

Para la anulación del botón de cierre deberás derivar tu propia clase de
CToolBar y manejar el estilo cuando la barra esté en estado flotante.

Saludos
Cholo Lennon
Salta, ARG
Respuesta Responder a este mensaje
#5 JIGE
20/02/2004 - 11:12 | Informe spam
Muchas gracias por la ayuda. Ahora sí que he conseguido ocultar la barra
de herramientas flotante. Efectivamente, utilizando ShowControlBar funciona
sin problemas.

El problema lo sigo teniendo con la "x" famosa. He creado una clase
derivada de CToolBar, pero no consigo averiguar cual es el evento que se
lanza cuando se pulsa la "x". He probado con OnClose, pero no es llamada
cuando se produce dicho evento y tb. con otras funciones: OnEnable,
OnCancelMode, OnEndSession... pero ninguna es llamada cuando se pulsa dicha
opción. ¿Sabríais decirme qué función es llamada cuando es pulsada la "x"?
Con esto me bastaría, ya que podría modificar el código asociado a dicha
acción.

Muchas gracias por vuestra ayuda

Saludos,

JIGE

"Cholo Lennon" escribió en el mensaje
news:
Si estás utilizando MFC debes usar 'CFrameWnd::ShowControlBar' no
'ShowWindow'.

// Mostrar
ShowControlBar(&m_wndTuBarra, TRUE, FALSE);

// Ocultar
ShowControlBar(&m_wndTuBarra, FALSE, FALSE);

Para la anulación del botón de cierre deberás derivar tu propia clase de
CToolBar y manejar el estilo cuando la barra esté en estado flotante.

Saludos
Cholo Lennon
Salta, ARG


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida