때로는 필요한 목적을 위해 프로그래밍 할 때 양식의 Borderstyle은 Bsnone, 즉 제목없는 양식으로 설정됩니다. 그러나 이런 식으로 제목 막대가 없으면 양식을 드래그 할 수 없기 때문입니다. 실제로 양식을 부드럽게 드래그하기 위해 다음 방법 만 사용하면됩니다.
OnMousedown 이벤트에 추가되었습니다
Oldx : = x;
Oldy : = u;
OnMouseMove 이벤트에 추가되었습니다
form1.left : = form1.left+x-oldx;
form1.top:=form1.top+y-oldy;
## 1 코드 생성은 다음과 같습니다.
단위 유닛 1;
인터페이스
용도
창, 메시지, 시스템, 클래스, 그래픽, 컨트롤, 양식, 대화;
유형
tform1 = 클래스 (tform)
절차 formmousedown (sender : tobject; button : tmousebutton;
Shift : TshiftState; X, Y, Integer);
절차 formmouseMove (sender : tobject; 버튼 : tmouseButton;
Shift : TshiftState; X, Y, Integer);
사적인
{개인 선언}
공공의
개인 선언}
끝;
var
form1 : tform1;
Oldx, Oldy : // 글로벌 변수 정의
구현
$ r *.dfm}
절차 tform1.formmousedown (발신자 : Tobject; 버튼 : tmouseButton;
Shift : TshiftState; X, Y : Integer);
시작하다
Oldx : = x;
Oldy : = y;
끝;
절차 tform1.formmouseMove (Sender : Tobject; 버튼 : tmouseButton
Shift : TshiftState; X,
Y : 정수);
시작하다
SSLEFT에서 SHIFT가 있으면 // 왼쪽 마우스 버튼을 누릅니다.
시작하다
form1.left : = form1.left+x-oldx;
form1.top:=form1.top+y-oldy;
끝;
끝;
끝.
화학 코드는 테스트 및 Delphi5.0 및 Win98 SE에서 통과되었습니다.