Q&A

  • 자석폼 효과시 문제..꼭좀 도와주세요 제발..
메인폼이있고 그옆에 폼이하나있고,메인폼밑에도 또하나의 폼이있습니다

메인폼이 움직일때 옆의 폼과 밑의 폼이 같이 따라다니게 하려고 코딩을 했는데

제 PC에서는 그게 잘 작동하지만 다른 사람의 PC에만 가면 잘 따라다니지도 않고

천천히 움직여야만 그 폼이 따라다니더군요..



제 PC사양이 높아서 그러는지 알수가없습니다



procedure Tmainform.WMMoving(var Message : TMessage);

var

CurrPos : TPoint;

e_top,e_Height: Integer;

begin

with TRect(Pointer(Message.lParam)^) do

begin

if EqForm.Visible then

begin

if EQForm.Top - (mainform.top+mainform.height-(mainform.height-Image1.Height)) < 15 then

begin

EqForm.Top := (Top+Height)-(Height-Image1.Height);//MainForm.Top - MainForm.Height+Image1.Height+200;

EqForm.Left := Left; //form2.left := CurrPos.x;

end;

end;



if PlayListForm.Visible then

begin

if PlayListForm.Left - (mainform.Left+mainform.Width-(mainform.Width-Image1.Width)) < 15 then

begin

PlayListForm.Top := Top;

PlayListForm.Left := (Left + width)-(width-Image1.width);

end;

end;

end;

end;

위의 것은 메인폼의 움직일때 발생되는 WM_Moving메세지 처리한부분이고



procedure Tmainform.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

ReleaseCapture;

if not (ssDouble in shift) then

SendMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);

end;



이것은 이미지를 클릭할때 caption영역을 처리한것처럼 속인 코드입니다



메인폼에서 WM_MOVING메세지를 받아서 처리한것인데 이것말고 다른방법으로 할수있는

방법은 없나요?

제발 부탁좀 드립니다

월요일까지 해결을 꼭 해야만 하는데 미치겠군요,, 도와주세요,,,



0  COMMENTS