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
[3055] [답변] 파피루스/ [델파이3] 마우스에 관련된 질문입니
착한나무 [ ] 1383 읽음    1998-05-31 23:24

   좀 오래된 (?) 질문이고 답변이 나왔으나
   저두 의문점이 있어서...
   이렇게 답변과 질문을 동시에..^^;

   먼저 답변은.. 

   컴퍼넌트를 하나 정의해서 사용하는 것이 좋습니다.
   어렵지 않게 구현 할 수 있습니다.
   Application을 작성 중에도 컴퍼넌트를 추가할 수 있는데요,

   Component->New Component를 해서
   Ancestor type을 BitBtn을 선택하고,
   Class Name을 BitBtnTemp로 설정하고,
   Create Unit을 하십시오.

   그리고 아래처럼 추가를 해주면 됩니다.
   (위에서 Class Name을 BitBtn으로 했다면 그냥 카피를 해도 무방합니다)


   { 프로그램 소스 }

   unit BitBtnTemp;

   interface

   uses
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
     StdCtrls, Buttons;

   type
     TBitBtnTemp = class(TBitBtn)
     Private
       FEnterColor : TColor;
       FTempColor  : TColor;
       procedure CMMouseEnter (var msg: TMessage); message CM_MOUSEENTER;
       procedure CMMouseLeave (var msg: TMessage); message CM_MOUSELEAVE;
     published
       property EnterColor : TColor read FEnterColor write FEnterColor;
       { 이 부분이 Object Inspector에 나타납니다.
         프로그램 동작시 색을 clYellow로 바꾸어 보세요..}
     end;

   procedure Register;

   implementation

   procedure Register;
   begin
     RegisterComponents('CanEasy', [TBitBtnTemp]);
     { CanEasy 대신 자신의 이니셜을 넣으셔도 좋습니다 }
   end;

   procedure TBitBtnTemp.CMMouseEnter (var msg: TMessage);
   begin
     FTempColor := Font.Color;
     Font.Color := FEnterColor;
   end;

   procedure TBitBtnTemp.CMMouseLeave (var msg: TMessage);
   begin
     Font.Color := FTempColor;
   end;

   end.

   이렇게 하면 마우스의 움직임에 대해 세밀한 처리를 할 수 있습니다.

   그리고 질문은요..
   왜 BitBtn만 Font의 색지정으로 글씨색이 바뀌는 반면
   Button의 Font는 지적을 해도 글씨색이 바뀌지 않는가요?
   사실 처음에 답변을 Button으로 준비하다 안되더라고요...
   [류]님의 답변을 보고 BitBtn으로 고쳐서 이렇게 올립니다. (감사..)
   아시는 분 답변을 부탁드립니다.

   그럼..
   아는 것만 대답하는 주니..


+ -

관련 글 리스트
3055 [답변] 파피루스/ [델파이3] 마우스에 관련된 질문입니 착한나무 1383 1998/05/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.