Arrastar e soltar: Personalizando
A implementação padrão do recurso de arrastar e soltar é suficiente para a maioria dos aplicativos.No entanto, alguns aplicativos podem exigir esse comportamento padrão ser alterado.Este artigo explica as etapas necessárias para alterar esses padrões.Além disso, você pode usar essa técnica para estabelecer os aplicativos que não oferecem suporte a documentos compostos como fontes de soltar.
Se personalizar o comportamento de arrastar e soltar OLE padrão ou se você tiver um aplicativo OLE não, você deve criar um COleDataSource objeto para conter os dados.Quando o usuário inicia uma operação de arrastar e soltar, seu código deve chamar o DoDragDrop função desse objeto em vez de outras classes que oferecem suporte a operações de arrastar e soltar.
Opcionalmente, você pode criar um COleDropSource objeto para controlar o posicionamento e substituir algumas de suas funções, dependendo do tipo de comportamento que você deseja alterar.Este objeto de origem de soltar é então passado para COleDataSource::DoDragDrop para alterar o comportamento padrão dessas funções.Essas opções diferentes permitem uma grande flexibilidade em como suporte a operações de arrastar e soltar em seu aplicativo.Para obter mais informações sobre fontes de dados, consulte o artigo objetos de dados e fontes de dados (OLE).
Você pode substituir as funções a seguir para personalizar as operações de arrastar e soltar:
Substituir |
Para personalizar |
---|---|
OnBeginDrag |
Como arrastar é iniciado depois de chamar DoDragDrop. |
GiveFeedback |
Feedback visual, como a aparência do cursor, para soltar diferentes resultados. |
QueryContinueDrag |
A finalização de uma operação de arrastar e soltar.Essa função permite que você verifique estados-chave modificador durante a operação de arrastar. |