그 태스크바가 어디위에 있는지 잘 모르겠지만...폼위에 있다면..
그 폼의 onMouseMove 이벤트핸들러 에서 저렇게 작성해 보세요...
procedure TForm1.MouseMove(sender :....... / 어쩌구..저쩌구.. );
begin
if Y>(form1.clientHeight-10) then
begin
//마우스가 폼의 밑으로 왔다!..
//만약 태스크바를 panel 콤포넌트로 만들었다면..
panel1.height:=20; // 태스크바를 보여줌..
end
else
panel1.height:=0; //태스크바..즉 패널을 감춤...
end;
간단히 저렇게 하면 되겠지만.
마우스가 너무 빨리 움직여버리면...아마 제대로 동작하지 못할거예요...
그럴때는 TPanel을 상속받은 콤포넌트를 하나 따로 만들어야 하는데...
그래서 그 콤포넌트에서 프로시져 두개만 추가해서 마우스가 나가고 들어오고
를 알아낸 후에...그...패널콤포넌트를 폼의 맨 아래에 놓고...
패널콤포넌트의 정열방식을 alBottom 으로 맞춘후에...
적당한 길이로 조절하고 ... 폼의 색상과 패널의 색상을.. clBtnFace로 맞춘후에
그러면 패널이 따로 안 보일테니까..
거기서 패널에 마우스엔터프로시져에서..
다른 태스크바패널을 띄워주면 될듯싶네요.
마우스엔터를 사용했다함은..
CM_MOUSEENTER를 사용했다는 거겠죠...
다른 부분은 아실거라 믿고..
아참...위에서...Y는 어쩌구 저쩌구에...integer로 선언되어있읍니다.
도움이 될런지...모르겠지만.
이만.
|