Você deve ter controle sobre teus itens.

Vejamos como o Windows Desktop funciona:

Na verdade ele é um ListView, componente do Windows que mostra coisas como ícones (da mesma forma do Windows Explorer) em modo ícone, mostrando o conteúdo de uma pasta (teu home user\Desktop), mais alguns ícones de sistema. Portanto, ele tem uma lista do que é exibido.

Tendo a lista em mãos, faz-se um simples for nos itens, ordenados por nome, tipo ou o que desejar, com uma variável X e Y zeradas.

Coloca o primeiro ícone em X=0, Y=0 e soma-se Y o tamanho vertical do ícone (43 no Windows por padrão). O segundo ícone vai em X=0, Y=43 e assim por diante, até Y + 43 ser maior do que a área útil (que aliás, seria como um Canvas, cujo filhos possuem posicionamento livre). Passou do tamanho vertical da tela, zera Y e soma-se 43 a X.

Assim você consegue fazer ícones mostrados na tela em ordem.

A segunda questão não entendi muito bem o que quer fazer. Eu presumo que seja aquela linha que o Windows Vista/Seven mostra quando você está arrastando um ícone para mostrar onde ele será incluído, certo?

Se for isso, segue o mesmo conceito acima. A linha é desenhada entre as coordenadas dos ícones que ele iria fazer drop. Como saber as coordenadas exatas? CX e CY são as coordenadas X e Y do mouse no momento do drop. Divida isso por 43 (que é teu espaçamento horizontal e vertical do ícone), arredondado pra baixo (Math.floor) e você tem sua coordenada X e Y do ícone atual, então desenha-se a linha nesta posição.

É isso que perguntou ou viajei?

--------------------------------------------------
From: "RafaelViana" <rfl.vi...@gmail.com>
Sent: Sunday, November 22, 2009 9:45 AM
To: "flexdev" <flexdev@googlegroups.com>
Subject: [flexdev] Duas dúvidas sobre alinhamento nos drag drops.


1)Por exemplo na área de trabalho do windows se estiver com a opção de
alinhar a grade os ícones ficam todos alinhados e não me permite que
eu arraste para qualquer lugar.No Flex eu faço isso usando um Grid?
(ou tem outra maneira)

2)Nos programas de design quando estou arrastando componentes me
mostra uma linha azul na vertical e horizontal que ajuda a alinhar
conforme os outros componentes.Alguém tem um link que fale a respeito?
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Responder a