Ao programar, às vezes, para fins de necessidade, o BordersTyle do formulário será definido como BSNONE, ou seja, a forma sem título. Mas dessa maneira, porque sem a barra de título, você não pode arrastar o formulário. De fato, precisamos usar apenas o seguinte método para arrastar suavemente o formulário.
Adicionado ao evento OnMousedown
Oldx: = x;
Oldy: = u;
Adicionado ao evento OnMouseMove
Form1.left: = form1.left+x-antn;
Form1.top:=form1.top+y-idade;
## 1 criação de código é a seguinte:
unidade de unidade1;
interface
usos
Windows, mensagens, sysutils, classes, gráficos, controles, formulários, diálogos;
tipo
Tform1 = classe (tform)
procedimento formmousedown (remetente: tabject; botão: tmouseButton;
Mudança: tshiftstate; x, y, inteiro);
Procedimento formmouseMove (remetente: tabjas; botão: tmouseButton;
Mudança: tshiftstate; x, y, inteiro);
Privado
{Declarações privadas}
público
Declarações particulares}
fim;
var
Form1: TForm1;
Oldx, Oldy: Inteiro; // Defina variáveis globais
Implementação
$ R *.dfm}
Procedimento TForm1.FormMouseDown (remetente: TOBJECT; Button: TmouseButton;
Mudança: tshiftstate; x, y: inteiro);
Começar
Oldx: = x;
Oldy: = y;
fim;
Procedimento TFFORM1.FORMMOUSEMOVE (remetente: Tobject; Button: TmouseButton
Mudança: tshiftState; x,
Y: número inteiro);
Começar
Se ssleft no turno, então // pressione o botão esquerdo do mouse
Começar
Form1.left: = form1.left+x-antn;
Form1.top:=form1.top+y-idade;
fim;
fim;
fim.
O Código de Chemos foi testado e aprovado em Delphi5.0 e Win98 SE.