Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
ComboBox에서의 힌트보이기
안녕하세요.
콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때
그 아이템의 내용을 힌트로 나타내고 싶습니다. 그 아이템의
바로 옆에....
어떤 방식을 이용해야 할까요?
1
COMMENTS
구창민
•
1999.04.24 07:30
박홍석 wrote:
> 안녕하세요.
>
> 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때
> 그 아이템의 내용을 힌트로 나타내고 싶습니다. 그 아이템의
> 바로 옆에....
>
> 어떤 방식을 이용해야 할까요?
홍석님 안녕하세요?
일전에 전철호님의 홈에서 퍼온 내용입니다.
보시고 도움되시길 바랍니다.
[팁]리스트 박스, 콤보박스일 경우 해당 아이템에 힌트를 사용 하는 방법
리스트 박스, 콤보박스는 Control에 대해서만 힌트를 나타낸다.
그런데 각각의 Item마다 다른 힌트를 나타내려면 어떻게 나타낼까 ?.
아주 간단한 방법을 사용하여 위의 문제를 해결해 보자.
일단 OmMouseMove Event에다
다음과 같이 기술한다.
TableTree는 리스트 박스로 간주한다.
if TableTree.Items.Count <= 0 then
System.Exit;
{$R-} // Range Check Error를 뺀다.
P.X := X;
P.Y := Y;
dw := SendMessage(TableTree.Handle,LB_ITEMFROMPOINT,0,MAKELPARAM(P.X,P.Y));
idx := LOWORD(dw);
if HIWORD(dw) = 1 then // 마우스가 리스트박스 아이템 위치에 없을때.
System.Exit;
Hint := TableTree.Items[idx];
{$R+}
그리고 나서 ShowHint를 True로 설정하면 해당 Item에 같을 경우
Item에 해당되는 값이 힌트에 나타날 것이다.
또한 해당 Item에 popup을 나타내는 경우도 아주 간단하게
해결할 수 있다.
OnMouseUp Event에다 다음과 같이 기술하면 된다.
var
P : TPoint;
idx: integer;
dw : DWORD;
begin
if TableTree.Items.Count <= 0 then
System.Exit;
if Button = mbRight then
begin
P.X := X;
P.Y := Y;
dw := SendMessage(TableTree.Handle,LB_ITEMFROMPOINT,
0,MAKELPARAM(P.X,P.Y));
idx := LOWORD(dw);
if HIWORD(dw) = 1 then // 리스트박스 아이템 위치에 없을때.
System.Exit;
TableTree.ItemIndex := idx;
if TableTree.ItemIndex = idx then
begin
P := TableTree.ClientToScreen(P);
Popup_Table.Popup(P.X,P.Y);
end;
end;
ComboBox나 TCheckListBox도 위와 같이 사용하면은
Item 각각의 힌트와 Popup윈도우를 사용할 수 있다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
박상현
•
1999.04.24 23:06
1
COMMENTS
/
0
LIKES
에러에 관하여(급함)
이정욱
•
1999.04.25 08:02
리스트에 없는 인덱스를 가리켰기 때문에 난 에러 입니다. 예를들면 리스트에 들어있는 아이템의 갯수가 3...
WhiteDragon
•
1999.04.24 20:37
1
COMMENTS
/
0
LIKES
도스용 dbf를 파라독스 db로 전환(급합니다.)
한태진
•
1999.04.25 04:23
WhiteDragon wrote: > 제가 변환할려는 것은 도스용 dbf화일을 델파이 파라독스 화일인 db로 전환할려고 ...
박홍석
•
1999.04.24 20:25
2
COMMENTS
/
0
LIKES
날짜로 쿼리하기
강두헌
•
1999.04.27 22:14
박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
신인재
•
1999.04.26 21:03
박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
이헌
•
1999.04.24 18:48
1
COMMENTS
/
0
LIKES
printer.Canvas.TextOut 의 처리한계는?
이정욱
•
1999.04.24 20:15
TextOut의 마지막 인자는 String형입니다. 기본적으로 델파이 32비트에서는 String형의 길이는 제한이 없...
박광호
•
1999.04.24 18:28
1
COMMENTS
/
0
LIKES
스트링으로 받은 폼명으로 폼생성
이정욱
•
1999.04.24 20:32
폼 이름이 Form2라고 가정을 하고 Form2는 TForm형이라고 가정을 할때, Form2 := TForm.Create(Self); ...
김성희
•
1999.04.24 09:25
1
COMMENTS
/
0
LIKES
파라메터 전송에 관한것인데요...
안치봉
•
1999.04.24 12:05
김성희 wrote: > 독립된 프로그램 사이에서 파라메터가 이동할수 있는 방법이나요? > 있다면 어떤방법인...
우민석
1999.04.24 07:43
0
COMMENTS
/
0
LIKES
다이얼로그처럼 네트워크 환경사용
박홍석
•
1999.04.24 06:45
1
COMMENTS
/
0
LIKES
ComboBox에서의 힌트보이기
안녕하세요. 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때 그 아이템의 내용을 힌트로 나타내고 싶습니다. 그 아이템의 바로 옆에.... 어떤 방식을 이용해야 할까요?
구창민
•
1999.04.24 07:30
박홍석 wrote: > 안녕하세요. > > 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때 > 그 ...
김경수
•
1999.04.24 05:42
2
COMMENTS
/
0
LIKES
인쇄관련
이정욱
•
1999.04.24 08:09
이 문제의 키는 Font.Height 에 있습니다. 화면이 72 DPI일 경우 Font.Height 의 공식은 아래와 같습니다....
김경수
•
1999.04.24 12:42
안녕하세요. 김경수입니다. 에구 size로 하니까 아래와 같은 문제가 없어지더군요. 답변 감사드립니다. ...
김영회
•
1999.04.24 04:00
1
COMMENTS
/
0
LIKES
[긴급문의]MSSQL Aliases 설정 에러
이정욱
•
1999.04.24 08:11
다른곳에서 잘되었다면 삼보에서도 잘 되어야 겠죠. 델파이와 BDE의 관계중 하나 가능성이 있는것이라면 ...
초보자
•
1999.04.24 02:28
2
COMMENTS
/
0
LIKES
화면 분할과 스플릿터
chaser
•
1999.04.24 03:24
초보자 wrote: > 윈도우의 탐색기 처럼 한 폼에서 여러개의 부분으로 구분된 폼을 만들고 싶습니다. 어떻...
초보자
•
1999.04.24 21:53
답변에 감사드립니다 한가지 더 질문올립니다. 화면을 양쪽으로 분할하는것은 이제 알았습니다. 그러면 ...
손진운
•
1999.04.24 02:08
1
COMMENTS
/
0
LIKES
퀵 리포트 내용을 팩스전송방법
이정욱
•
1999.04.24 04:32
AsyncProfessional이라는 컴포넌트가 지원합니다. 유료구요... 구입문의는 나이렉스로 문의 바랍니다. 5...
송동일
•
1999.04.24 01:05
1
COMMENTS
/
0
LIKES
사다리 프로그램?
안치봉
•
1999.04.24 04:35
송동일 wrote: > 델파이로 사다리 프로그램을 짜볼려고 하는데... > 통 감이 안 잡히네요... > 학교 다...
chaser
1999.04.23 23:44
0
COMMENTS
/
0
LIKES
질문]ActiveForm의 Fosus
한승현
•
1999.04.23 23:31
1
COMMENTS
/
0
LIKES
component install에 관한 질문...
안치봉
•
1999.04.24 04:34
한승현 wrote: > > dpk, dpl이 아닌 개별적인 파일(pas)을 가지고 하나씩 > component를 install시키...
공대규
•
1999.04.23 22:45
1
COMMENTS
/
0
LIKES
Canvas.CopyRect 에 대하여
안치봉
•
1999.04.23 23:23
공대규 wrote: > 안녕하십니까요? > > PaintBox에 Image1.canvas를 카피하려 할 때, 에러가 납니다. >...
권만섭
1999.04.23 19:36
0
COMMENTS
/
0
LIKES
[긴급]마스크에디터에 공백있으면 저장이 안돼요...
이민병
•
1999.04.23 19:14
1
COMMENTS
/
0
LIKES
Sql-Net세팅과 오라클 연결..도와주세요
김경수
•
1999.04.24 05:06
안녕하세요 김경수라는 사람입니다. 전 nt용 오라클8하구 델파이4랑 해봤는데 뭐 같은내용이겠지요.. 오...
이상준
•
1999.04.23 18:51
1
COMMENTS
/
0
LIKES
네트웍환경의 다른 컴퓨터 이름읽기
김영대
•
1999.04.23 21:07
이상준 wrote: > 윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의 > 컴퓨터 이름...
배리스
•
1999.04.23 06:39
1
COMMENTS
/
0
LIKES
TMemo의 마지막으로 가게 하는 방법
이정욱
•
1999.04.23 07:08
파워러브 델파이 창간호의 일부 입니다~ 1. 현재 라인번호 알아내기 메모에서 현재 Caret이 위치하...
박홍석
1999/04/24 06:45
Views
161
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요.
>
> 콤보박스를 펼쳐서 마우스로 아이템을 선택할려고 이동중일때
> 그 아이템의 내용을 힌트로 나타내고 싶습니다. 그 아이템의
> 바로 옆에....
>
> 어떤 방식을 이용해야 할까요?
홍석님 안녕하세요?
일전에 전철호님의 홈에서 퍼온 내용입니다.
보시고 도움되시길 바랍니다.
[팁]리스트 박스, 콤보박스일 경우 해당 아이템에 힌트를 사용 하는 방법
리스트 박스, 콤보박스는 Control에 대해서만 힌트를 나타낸다.
그런데 각각의 Item마다 다른 힌트를 나타내려면 어떻게 나타낼까 ?.
아주 간단한 방법을 사용하여 위의 문제를 해결해 보자.
일단 OmMouseMove Event에다
다음과 같이 기술한다.
TableTree는 리스트 박스로 간주한다.
if TableTree.Items.Count <= 0 then
System.Exit;
{$R-} // Range Check Error를 뺀다.
P.X := X;
P.Y := Y;
dw := SendMessage(TableTree.Handle,LB_ITEMFROMPOINT,0,MAKELPARAM(P.X,P.Y));
idx := LOWORD(dw);
if HIWORD(dw) = 1 then // 마우스가 리스트박스 아이템 위치에 없을때.
System.Exit;
Hint := TableTree.Items[idx];
{$R+}
그리고 나서 ShowHint를 True로 설정하면 해당 Item에 같을 경우
Item에 해당되는 값이 힌트에 나타날 것이다.
또한 해당 Item에 popup을 나타내는 경우도 아주 간단하게
해결할 수 있다.
OnMouseUp Event에다 다음과 같이 기술하면 된다.
var
P : TPoint;
idx: integer;
dw : DWORD;
begin
if TableTree.Items.Count <= 0 then
System.Exit;
if Button = mbRight then
begin
P.X := X;
P.Y := Y;
dw := SendMessage(TableTree.Handle,LB_ITEMFROMPOINT,
0,MAKELPARAM(P.X,P.Y));
idx := LOWORD(dw);
if HIWORD(dw) = 1 then // 리스트박스 아이템 위치에 없을때.
System.Exit;
TableTree.ItemIndex := idx;
if TableTree.ItemIndex = idx then
begin
P := TableTree.ClientToScreen(P);
Popup_Table.Popup(P.X,P.Y);
end;
end;
ComboBox나 TCheckListBox도 위와 같이 사용하면은
Item 각각의 힌트와 Popup윈도우를 사용할 수 있다.