Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[507] [답변] U9389040/태스크바 만들기
sspum [ ] 2482 읽음    1998-01-02 20:00

그 태스크바가 어디위에 있는지 잘 모르겠지만...폼위에 있다면..

그 폼의 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로 선언되어있읍니다.
도움이 될런지...모르겠지만.
이만.


+ -

관련 글 리스트
507 [답변] U9389040/태스크바 만들기 sspum 2482 1998/01/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.