Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
마우스가 위로 가면 버튼 색상이 바뀌게
델 고수님들의 도움이 필요합니다.
마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요....
당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
3
COMMENTS
홍세비
•
2001.01.12 20:44
freelab wrote:
> 델 고수님들의 도움이 필요합니다.
>
> 마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요....
> 당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
안녕하세여~ 홍세빕니다. 아래 소스를 참고하시길...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
FOldWndProc : TWndMethod;
procedure BtnWndProc( var Message : TMessage);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.BtnWndProc(var Message: TMessage);
begin
FOldWndProc(Message);
case Message.Msg of
CM_MOUSEENTER : BitBtn1.Font.Color := clBlue;
CM_MOUSELEAVE : BitBtn1.Font.Color := clBlack;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldWndProc := BitBtn1.WindowProc;
BitBtn1.WindowProc := BtnWndProc;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
BitBtn1.WindowProc := FOldWndProc;
end;
end.
0
0
삭제
수정
댓글
xdelphi
•
2001.01.09 20:50
freelab wrote:
> 델 고수님들의 도움이 필요합니다.
>
> 마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요....
> 당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
아래와 같이 한번해보세요
-------아 래---------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
CheckBox1: TCheckBox;
private
{ Private declarations }
{__컴포넌트에 마우스가 있으면 색변화를위한 프로시져__}
procedure WndProc(var Message: TMessage); override;
public
{ Public declarations }
procedure ChangeColor(Sender: TObject; Msg: Integer);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WndProc(var Message: TMessage);
begin
// 콤포넌트에 마우스가 있으면(over) 폰트의 색상을 바꾼다
if Message.LParam = Longint(Label1) then
ChangeColor(Label1, Message.Msg);
if Message.LParam = Longint(Label2) then
ChangeColor(Label2, Message.Msg);
if Message.LParam = Longint(Label3) then
ChangeColor(Label3, Message.Msg);
if Message.LParam = Longint(CheckBox1) then
ChangeColor(CheckBox1, Message.Msg);
inherited WndProc(Message);
end;
procedure TForm1.ChangeColor(Sender: TObject; Msg: Integer);
Begin
// 마우스가 Label위에 있을때
if Sender is TLabel then
begin
if (Msg = CM_MOUSELEAVE) then
(Sender as TLabel).Font.Color := clWindowText; // 마우스가 떠날때
if (Msg = CM_MOUSEENTER) then
(Sender as TLabel).Font.Color := clBlue; // 마우스가 들어올때
end;
// 마우스가 CheckBox위에 있을때
if Sender is TCheckBox then
begin
if (Msg = CM_MOUSELEAVE) then
(Sender as TCheckBox).Font.Color := clWindowText;
if (Msg = CM_MOUSEENTER) then
(Sender as TCheckBox).Font.Color := clRed;
end;
end;
end.
0
0
삭제
수정
댓글
액션가면
•
2001.01.09 20:05
안녕하세염~
아주 좋은 예로 flatstyle컴포넌트 버튼이 있답니다..
colorfocus프로퍼티가 있는데 원하시는 부분같네여..
오픈소스인 만큼 소스를 한번 보셨으면 합니다..
여기 자료실에도 있습니다.
그럼 좋은하루되세여~
freelab wrote:
> 델 고수님들의 도움이 필요합니다.
>
> 마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요....
> 당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
호야
2001.01.09 18:45
0
COMMENTS
/
0
LIKES
콤포넌트를 설치할려는데..
doraman
2001.01.09 18:18
0
COMMENTS
/
0
LIKES
데이터베이스 연결시 에러. 꼭꼭 알려주세요.
박상규
2001.01.09 22:38
0
COMMENTS
/
0
LIKES
'illegal attempt to use text/byte host variable'
궁금한 사람
2001.01.09 12:22
0
COMMENTS
/
0
LIKES
마이다스에서 서버 종료시 클라이언트 상태
김종섭
•
2001.01.09 11:41
2
COMMENTS
/
0
LIKES
쿼리한 테이블에서 멀티 셀렉트한 것만 퀵리포드에서 인쇄 ?
TMS
•
2001.01.09 22:52
김종섭 wrote: > 쿼리한 테이블에서 멀티 셀렉트는 구현을 하였는데 > 이것을 가지고 퀵리포트에서 인쇄...
승추니
•
2001.01.09 22:22
김종섭 wrote: > 쿼리한 테이블에서 멀티 셀렉트는 구현을 하였는데 > 이것을 가지고 퀵리포트에서 인쇄...
[질문]
2001.01.09 11:00
0
COMMENTS
/
0
LIKES
FTP 클라이언트 제작중.. 질문..
홍진혁
2001.01.09 10:53
0
COMMENTS
/
0
LIKES
답변좀 해주세요......(X-Y축 바뀐 그래프 급구!!!)
선현수
2001.01.09 10:42
0
COMMENTS
/
0
LIKES
델파이5.0 setup 중 .....오류
freelab
•
2001.01.09 09:22
3
COMMENTS
/
0
LIKES
마우스가 위로 가면 버튼 색상이 바뀌게
델 고수님들의 도움이 필요합니다. 마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요.... 당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
홍세비
•
2001.01.12 20:44
freelab wrote: > 델 고수님들의 도움이 필요합니다. > > 마우스가 위로 가면 버튼 색상이 바뀌게 하려...
xdelphi
•
2001.01.09 20:50
freelab wrote: > 델 고수님들의 도움이 필요합니다. > > 마우스가 위로 가면 버튼 색상이 바뀌게 하려...
액션가면
•
2001.01.09 20:05
안녕하세염~ 아주 좋은 예로 flatstyle컴포넌트 버튼이 있답니다.. colorfocus프로퍼티가 있는데 원...
김선태
•
2001.01.09 08:18
1
COMMENTS
/
0
LIKES
실행시에 패널의 크기 조작 방법?
xdelphi
•
2001.01.09 20:55
김선태 wrote: > 프로그램이 실행시에 > 패널이나, 리스트 박스의 크기를 바꾸는 거 어떻게 하는 쥐 아...
초보
•
2001.01.09 06:47
1
COMMENTS
/
0
LIKES
EXCEL 전송시...
초보
•
2001.01.09 07:15
자문자답이다.또 다시 --;.. XLApp.Columns.AutoFit; 기냥 막판에 이거 한 방이면 끝나네요 --;.....
문청
•
2001.01.09 06:41
2
COMMENTS
/
0
LIKES
batchmove 컴포넌트 사용하는데 에러가 발생합니다.
뿌요
•
2001.01.10 18:38
Table1에서 Table2로 옮길때 'mappings'라는 속성에 Table1.record = Table2.record를 쓰잖아여.. 그런데...
승추니
•
2001.01.09 21:08
문청 wrote: > 테이블을 batchmove해서 옮기는데 > "incompatible record structures " 라는 에러 메시지...
윤규성
•
2001.01.09 06:17
1
COMMENTS
/
0
LIKES
Master/Detail SQL구성방법에 관한 질문입니다.
김종섭
•
2001.01.09 11:16
윤규성 wrote: > 마스타 디테일 테이블에서 다음과 같은 결과를 만들어 내가 위한 > 쿼리를 어떻게 설정...
최석기
2001.01.09 05:46
0
COMMENTS
/
0
LIKES
질답형 게시판 스타일을 트리뷰로 표현 하려면.
이기석
•
2001.01.09 05:42
2
COMMENTS
/
0
LIKES
NT/MSSQL 서버에 NT로긴 없이 원격접속방법
성더기
•
2001.01.09 22:43
이기석 wrote: > 안녕하세요! > > 몇시간 전에 같은 질문을 올리고 답변을 받았습니다. > 그런데 잘 ...
승추니
•
2001.01.09 21:04
이기석 wrote: > 안녕하세요! > > 몇시간 전에 같은 질문을 올리고 답변을 받았습니다. > 그런데 잘 ...
슬픈비
•
2001.01.09 05:27
2
COMMENTS
/
0
LIKES
TMaksEdit 사용할때 공백일때 에라 처리 방법 좀.
승추니
•
2001.01.09 20:35
슬픈비 wrote: > 저는 시분만 사용 하려고 하는데 > > TMaksEdit 는 공백 입력이 안되는 것으로 알...
슬픈비
•
2001.01.10 03:51
무~
이슬사랑
2001.01.09 04:29
0
COMMENTS
/
0
LIKES
오토캐드 화일 미리보기
아무개
2001.01.09 03:35
0
COMMENTS
/
0
LIKES
스트링그리드의 내용을 블록으로 잡아 엑셀에 뿌려주기
허접이.
2001.01.09 03:19
0
COMMENTS
/
0
LIKES
OleContainer와 파워포인트의 연결시
델초보
2001.01.09 03:15
0
COMMENTS
/
0
LIKES
잘 되던 프로그램이.....갑자기 exception이 나요
freelab
2001/01/09 09:22
Views
265
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 델 고수님들의 도움이 필요합니다.
>
> 마우스가 위로 가면 버튼 색상이 바뀌게 하려면 어떻게 해야 되지요....
> 당연히 마우스가 버튼에 없을때는 정상적인 색상이 구요...
안녕하세여~ 홍세빕니다. 아래 소스를 참고하시길...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
FOldWndProc : TWndMethod;
procedure BtnWndProc( var Message : TMessage);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.BtnWndProc(var Message: TMessage);
begin
FOldWndProc(Message);
case Message.Msg of
CM_MOUSEENTER : BitBtn1.Font.Color := clBlue;
CM_MOUSELEAVE : BitBtn1.Font.Color := clBlack;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldWndProc := BitBtn1.WindowProc;
BitBtn1.WindowProc := BtnWndProc;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
BitBtn1.WindowProc := FOldWndProc;
end;
end.