Boas,julgo que não será assim tão fácil. Teria mesmo que investigar a fundo para conseguir arranjar um workaround. No fundo, precisas de encontrar no código do Alert o local onde é chamado o startDrag, e é essa a funcão que tens que fazer override.
No entanto, sugerir-te-ia que criasses o teu próprio componente de Alert que replica o funcionamento do Alert. Vai-te dar um bocadinho mais de trabalho no início, mas no futuro terás mais controlo sobre o seu comportamento. Isto, se o extend ao Alert der demasiada dor de cabeca...
linkedIn <http://pt.linkedin.com/in/jsaleiro> João Saleiro Chief Technology Officer Tel: 00351 916 077 097 Email: [email protected] <mailto:[email protected]> Skype: joao.saleiro <callto://pedro.arelo>Webfuel Solutions <http://www.webfuel.pt> www.webfuel.pt <http://www.webfuel.pt>
Lisbon, Portugal On 16-03-2011 10:42, j42z wrote:
alguma dica? o que pretendo mesmo é limitar o drag de um alert ao extremos superior, inferior, direita e esquerda do ecrã. já experimentei chamar o show( dentro do construtor... funciona, mas nunca cai no updateDisplayList On 15 Mar, 18:20, j42z<[email protected]> wrote:Boas, estou aqui a tentar estender da Alert para poder adicionar aquelas limitações de drag ao utilizador, mas não consigo depois chamar este componente... e também não consigo fazer override do show() nem do okLabel Fiz isto para um componente estendido do TitleWindow e resultou package CentralPackage.BasicControls { import mx.controls.Alert; import mx.core.FlexGlobals; public class MyAlert extends Alert { public function MyAlert() { super(); } override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); var applicationWidth : Number = FlexGlobals.topLevelApplication.width; var applicationHeight : Number = FlexGlobals.topLevelApplication.height; if (x + width> applicationWidth) { x = applicationWidth - width; } else if (x< 0) { x = 0; } if (y + height> applicationHeight) { y = applicationHeight - height; } else if (y< 0) { y = 0; } } } }
-- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.
<<inline: LinkedIn.gif>>
<<inline: Webfuel.gif>>
