Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
리스트박스에서 마우스가 위에 잇을
질문입니다.
리스트박스에서 마우스가 위에 있을
1
COMMENTS
전철호
•
1999.08.25 01:57
다음 콤포넌트 소스를 참조하시면 위의 문제를 해결할 수 있습니다.
// 만든이 : 전철호
//이 콤포넌트를 사용시 주의 사항은 다음과 같습니다.
//수정시에는 항상 버전업한 내용을 저에게 메일로 통지해주시기
//바랍니다.
//그리고 프로그램 작성시 꼭 제 이름을 명시하기 바라고
//상업용으로 사용하시고자 하실때는 저에게 메일이나
//전화를 주셔서 꼭 사용허가를 받으시기 바랍니다.
// 저작권은 오성과 한음 개발에 있습니다.
unit HintListBox;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,extctrls;
type
TJeonHintListBox = class(TListBox)
private
FHintWindow : THintWindow;
procedure MouseMove(Shift : TShiftState; X, Y : Integer); override;
procedure Timerproc(Sender : TObject);
protected
FTimer : TTimer;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property OnMouseMove;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('전철호', [TJeonHintListBox]);
end;
constructor TJeonHintListBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
// 힌트 윈도우 생성
FHintWindow := THintWindow.Create(self);
// 타이머 생성
FTimer := TTimer.Create(self);
FTimer.interval := 1000;
FTimer.enabled := False;
FTimer.OnTimer := TimerProc;
end;
destructor TJeonHintListBox.Destroy;
begin
FTimer.Free;
inherited Destroy;
end;
procedure TJeonHintListBox.MouseMove(Shift : TShiftState; X, Y : Integer);
var
apoint,p : TPoint;
R : TRect;
the_length : integer;
begin
inherited MouseMove(Shift,X,Y);
apoint.x := x;
apoint.y := y;
p := ClientToScreen(apoint);
FHintWindow.Canvas.Font.Size := 9;
FHintWindow.Canvas.Font.Name := '굴림체';
// 마우스 위치에 있는 ListBox Item위치를 가져온다.
if ItemAtPos(APoint, True) < 0 then
System.Exit;
the_length := FHintWindow.Canvas.Font.Size * Length(Items[ItemAtPos(APoint, True)]);
if the_length < 80 then
the_length := 80;
R := Rect(p.x+12,p.y-itemheight-2,p.x+the_length+2,p.y);
// 힌트 윈도우를 보여준다.
FHintWindow.ActivateHint(R,items[ItemAtPos(APoint, True)]);
// 타이머를 작동시킨다.
FTimer.Enabled := True;
end;
procedure TJeonHintListBox.Timerproc(Sender : TObject);
begin
FTimer.Enabled := False;
// 보여진 힌트윈도우를 제거한다.
FHintWindow.ReleaseHandle;
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
신상철
•
1999.08.25 19:31
1
COMMENTS
/
0
LIKES
win95에서 Internet Explorer 설치여부판단?
구창민
•
1999.08.25 22:33
신상철 께서 말씀하시기를... > win95에서 Internet Explorer4이상이 설치되었는지를 판단하려고 합니다. ...
김정배
•
1999.08.25 19:16
1
COMMENTS
/
0
LIKES
파라독스 테이블에 이미지 파일 저장 방법좀??
문홍철
•
1999.08.25 21:49
김정배 께서 말씀하시기를... > 델파이에대해 거의 초보자인 사람입니다. > 파라독스 테이블에 그림 파일...
김미영
•
1999.08.25 18:57
2
COMMENTS
/
0
LIKES
[급]쿼리사용시 마지막 레코드의 값을 읽어오려면..
이주흥
•
1999.08.27 01:09
김미영 께서 말씀하시기를... > 저는 델파이의 초보인데요.. > 저의 프로그램에서 마지막의 레코드값을 ...
문홍철
•
1999.08.25 21:24
김미영 께서 말씀하시기를... > 저는 델파이의 초보인데요.. > 저의 프로그램에서 마지막의 레코드값을 ...
구창민
1999.08.25 18:49
0
COMMENTS
/
0
LIKES
Re: OnHint...
한재아
1999.08.25 18:44
0
COMMENTS
/
0
LIKES
컨버젼에 대해서 물어보고 싶어요
반정현
•
1999.08.25 18:29
1
COMMENTS
/
0
LIKES
[초보]소트가 않되요..
구창민
•
1999.08.25 18:39
반정현 께서 말씀하시기를... > i=1 j=2 > temp:integer > repeat > repeat > if a[i] beg...
문영철
•
1999.08.25 18:14
1
COMMENTS
/
0
LIKES
특정문자열 삭제하기
구창민
•
1999.08.25 18:36
문영철 께서 말씀하시기를... > filename 을 db에 insert 하려고합니다. > 지금 에디트박스에 올라오는 ...
댕이
1999.08.25 18:12
0
COMMENTS
/
0
LIKES
BDE속도는....
이봉호
•
1999.08.25 17:35
1
COMMENTS
/
0
LIKES
Web Browser ActiveX control 설명...
전철호
•
1999.08.25 18:05
안녕하세요. 전철호입니다. http://www.osungcomp.pe.kr에 가시면 팁란에 사용예제가 있습니다.
리디아
•
1999.08.25 10:16
2
COMMENTS
/
0
LIKES
BDE를 이용하지 않는 DB 어플 작성에 관해...
이혁
•
1999.08.25 22:25
리디아 께서 말씀하시기를... > 클라이언트 Data set을 이용하면 BDE 없이 작동하는 > DB 어플을 작성할 ...
신인재
•
1999.08.25 13:49
불가능 합니다. 몇가지 멀티 티어를 지원하기 위한 유닛 파일이 프로나 스텐다드 버전에는 빠져있기 때...
정연섭
•
1999.08.25 06:36
1
COMMENTS
/
0
LIKES
특정영역 에서만 마우스가 작동안하게 하려면..
왕초
•
1999.08.25 17:01
정연섭 께서 말씀하시기를... > 염치업이 매일 질문만 해서 죄송합니다.. > 좀더 열심히 공부해서 다음에는
오춘배
•
1999.08.25 05:40
1
COMMENTS
/
0
LIKES
델파이로 푸시시스템을!
리디아
•
1999.08.25 09:16
오춘배 께서 말씀하시기를... > 안녕하십니까? > 저는 전산학과4학년 학생입니다. > 이번에 졸업작품으...
김대호
•
1999.08.25 05:34
1
COMMENTS
/
0
LIKES
델파이3에서 4로 바꾸러하는데 어떤 문제가 있죠?
이혁
•
1999.08.25 22:14
김대호 께서 말씀하시기를... > 데이타 베이스 프로그램을 델파이 3에서 개발을 했는데 델파이 4를 구입해...
델초보
1999.08.25 02:51
0
COMMENTS
/
0
LIKES
html과 richedit에 대해서 긴급 질문
왕초
1999.08.25 02:49
0
COMMENTS
/
0
LIKES
속석이는 퀵레포트입니다.. T_T (Help..)
강현구
•
1999.08.25 02:01
1
COMMENTS
/
0
LIKES
하드에 있는 html 화일을 열어볼수 있는 방법
구창민
•
1999.08.25 02:51
강현구 께서 말씀하시기를... > 안냐세여. 인터넷 프로그램 초보입니다. 하드디스크에 있는 html을 열어보...
이용일
•
•
1999.08.25 01:44
1
COMMENTS
/
3
LIKES
리스트박스에서 마우스가 위에 잇을
질문입니다. 리스트박스에서 마우스가 위에 있을
전철호
•
1999.08.25 01:57
다음 콤포넌트 소스를 참조하시면 위의 문제를 해결할 수 있습니다. // 만든이 : 전철호 //이 콤포넌트를...
나희정
1999.08.25 01:00
0
COMMENTS
/
0
LIKES
리스트뷰에서 한줄에 이미지를 여러개 넣는 방법을 알려주세요
황돈기
•
1999.08.24 23:54
1
COMMENTS
/
0
LIKES
윈도우의 작업표시줄를 제어하려면...
김선관
•
1999.08.27 08:37
황돈기 께서 말씀하시기를... > taskbar가 어떻게 작동되는지 알고싶습니다.... > taskbar의 위치변경이...
이혁
•
1999.08.24 23:48
2
COMMENTS
/
0
LIKES
DCOM 사용시 CLIENT 컴 설정 방법은?
정근수
•
1999.08.25 00:53
이혁 께서 말씀하시기를... > 안녕하십니까? 또 질문입니다. > 몇일전부터 DCOM을 이용한 CS프로그램을 ...
이혁
•
1999.08.25 02:02
정근수 께서 말씀하시기를... > 이혁 께서 말씀하시기를... > > 안녕하십니까? 또 질문입니다. > > 몇일...
이용일
1999/08/25 01:44
Views
1605
Likes
3
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
// 만든이 : 전철호
//이 콤포넌트를 사용시 주의 사항은 다음과 같습니다.
//수정시에는 항상 버전업한 내용을 저에게 메일로 통지해주시기
//바랍니다.
//그리고 프로그램 작성시 꼭 제 이름을 명시하기 바라고
//상업용으로 사용하시고자 하실때는 저에게 메일이나
//전화를 주셔서 꼭 사용허가를 받으시기 바랍니다.
// 저작권은 오성과 한음 개발에 있습니다.
unit HintListBox;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,extctrls;
type
TJeonHintListBox = class(TListBox)
private
FHintWindow : THintWindow;
procedure MouseMove(Shift : TShiftState; X, Y : Integer); override;
procedure Timerproc(Sender : TObject);
protected
FTimer : TTimer;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property OnMouseMove;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('전철호', [TJeonHintListBox]);
end;
constructor TJeonHintListBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
// 힌트 윈도우 생성
FHintWindow := THintWindow.Create(self);
// 타이머 생성
FTimer := TTimer.Create(self);
FTimer.interval := 1000;
FTimer.enabled := False;
FTimer.OnTimer := TimerProc;
end;
destructor TJeonHintListBox.Destroy;
begin
FTimer.Free;
inherited Destroy;
end;
procedure TJeonHintListBox.MouseMove(Shift : TShiftState; X, Y : Integer);
var
apoint,p : TPoint;
R : TRect;
the_length : integer;
begin
inherited MouseMove(Shift,X,Y);
apoint.x := x;
apoint.y := y;
p := ClientToScreen(apoint);
FHintWindow.Canvas.Font.Size := 9;
FHintWindow.Canvas.Font.Name := '굴림체';
// 마우스 위치에 있는 ListBox Item위치를 가져온다.
if ItemAtPos(APoint, True) < 0 then
System.Exit;
the_length := FHintWindow.Canvas.Font.Size * Length(Items[ItemAtPos(APoint, True)]);
if the_length < 80 then
the_length := 80;
R := Rect(p.x+12,p.y-itemheight-2,p.x+the_length+2,p.y);
// 힌트 윈도우를 보여준다.
FHintWindow.ActivateHint(R,items[ItemAtPos(APoint, True)]);
// 타이머를 작동시킨다.
FTimer.Enabled := True;
end;
procedure TJeonHintListBox.Timerproc(Sender : TObject);
begin
FTimer.Enabled := False;
// 보여진 힌트윈도우를 제거한다.
FHintWindow.ReleaseHandle;
end;
end.