Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Menus despleglables (https://www.clubdelphi.com/foros/showthread.php?t=92437)

The Cid James 29-10-2017 05:04:58

Menus despleglables
 
Buenas (yo de nuevo :p) estoy usando delphi 10.2 tokio y queria hacer un menu desplegable o colapsable ahoro lo siguiente

He echo un boton ligado a un tpanel el cual al precionarlo muestra o no el tpanel para ello use

Código Delphi [-]
procedure TfPrincipal.BBmenuemClick(Sender: TObject);
begin
 TPprincipal1.Visible := not TPprincipal1.Visible;
end;

end.

en su momento use delphi 7 y al desaparecer el tpanel tambien desaparecia o no mostraba la parte de form donde se encontraba el panel cosa que ahora no sucede
Les dejo dos imagnes para que se comprenda mejor
Con el tpanel activo

Sin el tp activo

Sera que en las nuevas versiones ya no trabaja de la misma manera ahora mi pregunta seria si abria forma de hacer que esa parte del form tambien sea invisible... o que tengo que hacer que al precionar el boton el resto de los componentes se ajuste al tamaño del form ocupando el espacio del tpanel que desaparece el boton ?

Otra consulta obviamente relacionada a lo mismo seria como puedo hacer sub menus como los que tiene delphi en la paleta de componente que al apretar "+" o "-" muestre o no los elemento de la categoria, ademas de que cambie la imagen al presionar el boton en este caso un "+" por un "-"

The Cid James 31-10-2017 04:17:42

Encontre esto pero no se como pasar o que significa las expresiones => en cbuilder.

Como puedo pasar esto para delphi?

Video explicativo

ecfisa 31-10-2017 12:00:41

Hola.

No es muy diferente, sólo cambia los '->' por '.' y agrega 'then' al condicional.

Código Delphi [-]
procedure TForm1.Image1Click(Sender: TObject);
begin
  if SplitView1.Opened then
    SplitView1.Close
  else
    SplitView1.Open;
end;

...

Saludos :)

The Cid James 31-10-2017 14:15:34

Cita:

Empezado por ecfisa (Mensaje 522147)
Hola.

No es muy diferente, sólo cambia los '->' por '.' y agrega 'then' al condicional.

Código Delphi [-]
procedure TForm1.Image1Click(Sender: TObject);
begin
  if SplitView1.Opened then
    SplitView1.Close
  else
    SplitView1.Open;
end;

...

Saludos :)

Gracias! trabaja de maravilla pero el componente splitview no se ajusta a las propiedades width y termina tapando otros componentes cuando ejecuto el soft. Hay algún motivo para esto?

The Cid James 31-10-2017 18:21:14

Primero que nada perdon por los post continuos dentro del hilo. Pero soluciono algo y me quede completamente desconcertado con algunas cosas por lo cual vuelvo a recurrir a uds.

Con respecto al post anterior logre solucionarlo con la propiedad openwidth dándole el mismo valor que width por defecto era mas grande asi que por eso se superponía cuando ejecutaba el programa.

Una vez que solucione esto pense que todo iria bien, pero al volver a abrir el splitview qudaba con otras medidas

Código Delphi [-]
procedure TForm1.Image1Click(Sender: TObject);
begin
  if SplitView1.Opened then
    SplitView1.Close
  else
    SplitView1.Open; // cundo ejecutaba esto quedaba de diferente tamaño 
end;

La medida del width orignal era de 128, esta medida tambien es la que use en la propiedad 'openwidth', para solucionar esto primero pense que era un problema de medidas y puse manualmente la propiedad en el click para darle la medida

Código Delphi [-]
SVPmenu.OpenedWidth := 128; //con esta medida quedaba de todas formas mas chico

asi que "jugue" con las medidas manualmente y para que quede del mismo tamaño cuando ejecutaba use la siguiente medida

Código Delphi [-]
SVPmenu.OpenedWidth := 158;

Algo que me llamo la atención pero pensé que era error del componente. Luego quise ajustar el tpanel que uso al ancho del form cuando se cerrara el splitview y que cuando abriera volviera al tamaño original entonces puse las mismas medida que estaba usando en vista de diseño.

height:520
widht: 740

Pero de nuevo quedaba mucho mas chico que en la vista de diseño al punto de que para que vuelva al tamaño original tuve que jugar nuevamente con las medidas y termine

Código Delphi [-]
TPprincipal.Width := 940;
TPprincipal.height := 720

Ahora me pregunto porque estos cambios de medidas de la vista de edición a la ejecución del programa? me dejo totalmente desconcertado estos cambios de medida en ejecución y me pregunto cual es el motivo para que suceda esto?


La franja horaria es GMT +2. Ahora son las 17:31:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi