PDA

Ver la Versión Completa : Colocar sólo el triangulo de un statusbar


Angel Fernández
08-11-2006, 23:42:15
Saludos al foro.
Tengo una duda que me parece un poco tonta pero que no puedo resolver y no encuentro respuesta en otros hilos de este foro.
El caso es ¿cómo puedo poner en una ventana el triángulo punteado que aparece en la esquina inferior derecha para indicar que se puede redimensionar con el ratón?
Sé que un status bar hace eso, pero lo he intentado colocándolo abajo a la derecha y no queda integrado, queda un pegote y además no me sale el triangulo.
Gracias por adelantado

dec
08-11-2006, 23:47:56
Hola,

Piensa que tu aplicación se adaptará al tema que esté usando Windows (en el caso de Windows XP) y por tanto a veces el mismo componente puede ofrecer diferente apariencia.

Siempre puedes usar un componente "de terceros", pero, prueba a ver qué te parece esto: sitúa en el formulario un componente "TStatusBar" y añade un panel al mismo, me refiero a un "TStatusPanel".

A dicho panel asígnale el valor "pbNone" a su propiedad "Bevel". Ya dirás qué te parece el resultado. :)

Angel Fernández
09-11-2006, 11:02:38
Gracias dec por tu pronta respuesta y tu interés en ayudarme.
Lo que dices lo he probado y me puede servir, pero me reserva toda la banda inferior del formulario para el statusbar. Lo que yo ando buscando es que aparezca "sólo" el triángulo en el borde inferior derecho.
Para ver un ejemplo de lo que digo, abre word por ejemplo y haz click en Archivo -> Abrir. Te aparece una ventana para seleccionar el fichero que quieres abrir. Fíjate que en el borde inferior derecho aparece el susodicho triángulo (junto al botón cancelar) pero sin statusbar que ocupe todo el ancho inferior de la ventana. Eso es lo que busco. Si no lo consigo, haré lo que me has sugerido.
Otra cosa que se me ocurre es insertar una imagen con el triángulo. Voy a probar a ver...
Gracias otra vez.

roman
09-11-2006, 14:59:21
Tal como la tienes ahora, con el panel con bvNone, pon su propiedad Align en alNone y redimensiónala desde el borde izquierdo, de manera que quede un cuadrito hasta la derecha . Finalmente, pon sus propiedades Anchors:

akLeft: false
akTop: false
akRight: true
akBottom: true


El cuadrito del status bar debe quedar bien pegado a la esquina inferior derecha, de lo contrario no se ven las líneas.

// Saludos

Angel Fernández
09-11-2006, 23:51:49
Hola Román, gracias también por tu intervención.
Lo que dices lo he probado y no me sirve por dos motivos:
Uno, queda un pegote. Debe ser por el tema de win xp como dice dec, pero aún poniendo el bevel a none se ven las líneas horizontales del statusbar.
Y dos, yo uso mucho en los formularios un panel alineado a bottom, con los botones de cerrar, guardar, etc. Si dentro de ese panel coloco el statusbar, no me dibuja el triángulo. Extraño, una marcianada. Si el status bar lo pongo directamente sobre el formulario sí me dibuja el triángulo.

De todas formas, creo que he resuelto el problema de una forma más o menos elegante. He copiado la imagen del triángulo (con la tecla Impr Pant y luego recortando con Paint) y la he puesto en un componente image con las propiedades transparent y autosize a true. Lo he anclado a la derecha y abajo y parece que da el pego. Si alguien tiene alguna idea mejor estoy abierto a mejorar el sistema.
Un saludo.

roman
09-11-2006, 23:58:01
Si alguien tiene alguna idea mejor estoy abierto a mejorar el sistema

Pues a decir verdad, bien pensado me parece que esta opción que encontraste es la mejor. Aun suponiendo que pudieras adecuar el status bar, es claro que no lo estás usando como tal, sino sólo para mostrar las diagonales, es decir, sólo lo estarías usando como una imagen, y ésa es precisamente la solución que encontraste.

// Saludos

egostar
10-11-2006, 00:30:32
Pues yo encontré una página donde se habla de esto mismo, sólo que está hecho con C, si alguien del foro sabe traducirlo a Delphi sería excelente.

Getting window size-grip (“grippie”) without statusbar (http://www.codeproject.com/useritems/grippie.asp)


Saludos.