Arrastar e soltar
É uma dúvida meio tosca, mas realmente nunca fiz isto por não precisar.
Qual a melhor forma de arrastar e soltar um componente em run-time ?
Acho que os eventos que devem ser usados são os de mouse e drag mas não vi no help maiores detalhes de como fazer.
Tb não achei nada aqui no pesquisar.
Qual a melhor forma de arrastar e soltar um componente em run-time ?
Acho que os eventos que devem ser usados são os de mouse e drag mas não vi no help maiores detalhes de como fazer.
Tb não achei nada aqui no pesquisar.
Motta
Curtidas 0
Respostas
Weber
23/10/2004
Mover/Redimensionar Componentes VCL em tempo de Execução, para componente tipo TWinControl.
Para exemplo, jogue o código abaixo no Evento OnMouseDown de um botão.
Abaixo seguem os valores mais importantes para passagem pela API do Windows.
sc_DragMove = $f012;
sc_Leftsize = $f001;
sc_Rightsize = $f002;
sc_Upsize = $f003;
sc_UpLeftsize = $f004;
sc_UpRightsize = $f005;
sc_Dnsize = $f006;
sc_DnLeftsize = $f007;
sc_DnRightsize = $f008;
Para ver todos os valores existentes no Delphi: com o mouse posicionado em cima do comando ´WM_SYSCOMMAND´, pressione a tecla CTRL
+ o clique do mouse.
Para exemplo, jogue o código abaixo no Evento OnMouseDown de um botão.
Begin ReleaseCapture; TWinControl(Sender).perform(WM_SYSCOMMAND, $f012, 0); End;
Abaixo seguem os valores mais importantes para passagem pela API do Windows.
sc_DragMove = $f012;
sc_Leftsize = $f001;
sc_Rightsize = $f002;
sc_Upsize = $f003;
sc_UpLeftsize = $f004;
sc_UpRightsize = $f005;
sc_Dnsize = $f006;
sc_DnLeftsize = $f007;
sc_DnRightsize = $f008;
Para ver todos os valores existentes no Delphi: com o mouse posicionado em cima do comando ´WM_SYSCOMMAND´, pressione a tecla CTRL
+ o clique do mouse.
GOSTEI 0
Motta
23/10/2004
valeu weber, grato.
GOSTEI 0
Zlink
23/10/2004
Estava procurando algo assim, gostaria de saber como usar todos ao mesmo tempo, pois estou precesando colocar um componente no form e redimencionar e mover.
Grato.
Grato.
GOSTEI 0
Zlink
23/10/2004
Usei assim e deu certo
ReleaseCapture;
TWinControl(Sender).perform(WM_SYSCOMMAND, $f012, 0);
TWinControl(Sender).perform(WM_SYSCOMMAND, $f004, 0);
Agora como eu estou criando os componentes em modo de execurção, como colocar /informar estes eventos no onmoudown em modo de execurção.
ReleaseCapture;
TWinControl(Sender).perform(WM_SYSCOMMAND, $f012, 0);
TWinControl(Sender).perform(WM_SYSCOMMAND, $f004, 0);
Agora como eu estou criando os componentes em modo de execurção, como colocar /informar estes eventos no onmoudown em modo de execurção.
GOSTEI 0
Rogerio247
23/10/2004
Estava verificando esse código , e é próximo do que preciso.......minha dúvida e se teria como eu soltar esse componente no formulário de novo, pois ele precisaria ser impresso assim como todo o formulário
obrigado a quem ajudar
obrigado a quem ajudar
GOSTEI 0