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>>

Responder a