¿Hay alguna manera de mostrar el botón de menú desplegable IE/Firefox Back button style?¿Cómo crear un botón con el menú desplegable?
Respuesta
Sure. Pon una barra de herramientas en la página. Haga clic derecho en la barra de herramientas, agregue un botón. Establezca el estilo del botón en tbsDropDown. Pon un PopupMenu en la página. Haga doble clic en PopupMenu para definir los elementos del menú. Luego, regrese al botón que creó y establezca su propiedad DropdownMenu para señalar el PopupMenu que acaba de crear.
Si no desea utilizar una barra de herramientas, las bibliotecas de raize (www.raize.com) y de editores exprés (www.DevExpress.com) tienen componentes que pueden hacer esto.
Supongo que se refiere a un botón que aparece en un menú al hacer clic.
También puede simplemente codificar manualmente su botón hacer clic para desplegar un TPopupMenu debajo de él.
Ejemplo: Elimine cualquier cosa con un TClickEvent (quizás un TButton) y un TPopupMenu en su formulario. Agregue algunos elementos de menú. A continuación, agregue el siguiente controlador de eventos OnClick:
procedure TForm86.Button1Click(Sender: TObject);
var
button: TControl;
lowerLeft: TPoint;
begin
if Sender is TControl then
begin
button := TControl(Sender);
lowerLeft := Point(button.Left, button.Top + Button.Height);
lowerLeft := ClientToScreen(lowerLeft);
PopupMenu1.Popup(lowerLeft.X, lowerLeft.Y);
end;
end;
Y viola! Como la magia. Podría incluirlo todo en un componente si planea reutilizarlo. Quizás incluso lo venda en línea.
Nota: Si desea un retraso, a continuación, extraer el código en otro método y luego establecer un temporizador OnClick y gire el temporizador de OnMouseLeave. Luego, si el temporizador se dispara, puede llamar al método extraído. No estoy seguro de cómo lo haría con un clic en el teclado. No sé si Firefox, etc. lo admite.
La respuesta de Jim es genial, pero al principio no funcionó para mí. ClientToScreen usa el método de Form86, que solo es correcto si el botón está directamente en el formulario. Debe ser el método del botón ClientToScreen que se llama, así:
procedure TForm86.Button1Click(Sender: TObject);
var
button: TControl;
lowerLeft: TPoint;
begin
if Sender is TControl then
begin
button := TControl(Sender);
lowerLeft := Point(0, button.Height);
lowerLeft := button.ClientToScreen(lowerLeft);
PopupMenu1.Popup(lowerLeft.X, lowerLeft.Y);
end;
end;
Esto funciona sin importar dónde está el botón.
Muy bien, ambos pulgares arriba! – user1580348
- 1. Cómo crear el menú desplegable que aparece en función de la respuesta de otro menú desplegable
- 2. Cómo crear un menú contextual con el botón derecho para un botón en WPF
- 3. jQuery menú desplegable desplegable
- 4. ¿Qué control es esto? (Botón "Abrir" con menú desplegable)
- 5. ¿Cómo crear un JButton con un menú?
- 6. ¿Es posible reiniciar un menú desplegable de CKEditor/menú desplegable?
- 7. Spinners personalizados/menú desplegable
- 8. seleccionar el menú desplegable con ascua
- 9. Crear navegación del menú desplegable con <select>
- 10. ¿Cómo establecer el valor en el menú desplegable con Jquery?
- 11. Crear un menú desplegable en C# ASP.NET MVC
- 12. Menú desplegable con valor de otro modelo
- 13. programación abrir un menú desplegable
- 14. Java: ¿Cómo puedo agregar un JMenu a un JPanel o crear un botón desplegable?
- 15. Cómo crear una animación deslizante en el menú desplegable con jQuery?
- 16. Menú desplegable en android
- 17. Qt: ¿Botón desplegable?
- 18. Estilo menú desplegable ActionBar
- 19. cómo obtener el índice seleccionado de un menú desplegable
- 20. ¿Cómo puedo crear un menú "desplegable" en una barra de herramientas Java Swing?
- 21. Cómo borrar un selecto menú desplegable múltiple utilizando jQuery
- 22. Menú desplegable de Android (sin ruleta!)
- 23. Desplegable de Bootstrap dentro del menú desplegable
- 24. Lista desplegable con controles de menú WPF
- 25. ¿Cómo cerrar el menú desplegable de notificaciones en Android> = 3.0 desde notificaciones enriquecidas personalizadas con un botón adicional?
- 26. Crear el botón de estilo de Firefox 4 y menú desplegable en la barra de título de formulario C#
- 27. menú desplegable editable en jquery
- 28. Angry Birds como menú desplegable
- 29. Agregar el menú desplegable usando d3.js
- 30. botón Divulgación muestra un menú
El problema real existe si usted quiere que este TButton sea un TSpeedButton que se queda abajo mientras se muestra el menú y aparece cuando el usuario hace clic en un elemento del menú O en cualquier otro lugar del formulario. Pero esa es una pregunta diferente y un tema diferente ... – gabr
¿No podría simplemente poner un temporizador en el evento onclick del botón de velocidad, y hacer que la prueba de evento de ejecución del temporizador se vea si el menú emergente aún está visible? – Argalatyr
Si el botón se coloca cerca de la parte inferior de la pantalla, el menú se desplegará desde abajo, comenzando desde la parte inferior del botón, cubriéndolo así, que podría no ser lo que desea. (Probablemente no haya problema aquí, solo pensé en mencionarlo). – dummzeuch