PDA

Ver la Versión Completa : Propiedad Default Menus Contextuales equivalente en menus firemonkey


juniorSoft
21-05-2016, 16:44:02
Hola amigos,

Me ha surgido una interrogante utilizando el popupmenu en firemonkey; en la VCL los popup menú en sus item tienen una propiedad default que sin tener que desplegar el menú se ejecuta la accción que esta por defecto marcada en el item menu he estado tratando simular este comportamiento en el popup de menu de firemonkey pero no he dado con el objetivo

Hasta ahora lo que he realizado es crear una clase interpuesta para el Tmenuitem pero observando la implementacion de la VCL hay muchas cosas envueltas para lograrlo.

la propiedad default en su write utiliza el metodo SetDetault(value:Boolean); este metodo SetDefault a su vez contiene una llamada al metodo MenuChanged(Rebuild: Boolean); y a su vez este utiliza la variable FOnChange de tipo TMenuChangeEvent; el cual no existe en la implementacion de los itemmenu de firemonkey


TMenuItemEx = class(TMenuItem)
private
FDefault: Boolean;
FOnChange: TMenuChangeEvent;
protected
procedure SetDefault(Value: Boolean);
procedure MenuChanged(Rebuild: Boolean);
public
property Default: Boolean read FDefault write SetDefault default False;
end;

Mi pregunta es: existe alguna otra forma de decirle al itemmenu de firemonkey que este estará por defecto

Inmensamente agradecido de este foro

juniorSoft
26-05-2016, 22:28:58
Me respondo,

Quería hacer algo parecido a los botones de las toolbar con la propiedad style = tbsDropDown y ponerle por default un item del popup menu pero en firemonkey los botones no tienen la propiedad style por lo que no se le puede asignar tbsDropDown, para invocar el menu en el botón hay que llamar el popup en el evento clic del boton popupmenu.popup();

Para el efecto que deseo debo asignar un valor al groupindex diferente de 0, luego asignarle true a la propiedad Radioitem y luego a los tabitem asignarle ischecheck = true en modo de ejecución.

Firemonkey es más flexible que la VCL para personalizar la interfaz de usuario pero a la vez hay muchos componentes que aunque tienen sus homologos en vcl sus propiedades y métodos son muy distintos.