Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
ListBox에 텍스트가 아닌 아이콘을 넣는방법
안녕하세요.
이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다.
알고 싶은건 ListBox에 item을 텍스트만 넣을 수 있나요?
아이콘을 넣을 수 있는 ListBox component가 따로 있는건지
아니면 기존에것도 지원을 하는지 알고 싶습니다.
그럼 답변 부탁드립니다.
2
COMMENTS
구창민
•
1999.10.07 02:02
손주양 wrote:
> 안녕하세요.
> 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다.
> 알고 싶은건 ListBox에 item을 텍스트만 넣을 수 있나요?
> 아이콘을 넣을 수 있는 ListBox component가 따로 있는건지
> 아니면 기존에것도 지원을 하는지 알고 싶습니다.
> 그럼 답변 부탁드립니다.
손주양님 안녕하세요?
Listbox의 canvas property와 onDrawItem event를 이용합니다.
style property은 lbOwnerDrawFixed나lbOwnerDrawVariable로 설정하세요.
Listbox에 bitmap 또는 icon data를 추가하는 방법은 AddObject method를 이용합니다.
ListBox1.Items.AddObject('Bitmap', Image1.Picture.Bitmap);
ListBox2.Items.AddObject('Icon', Image2.Picture);
procedure TForm1.ListBox1DrawItem(Control:TWinControl; Index:Integer; Rect:TRect; State: TOwnerDrawState);
var Bitmap : TBitmap;
begin
with Listbox1.Canvas do
begin
FillRect(Rect);
Bitmap := TBitmap(Listbox1.Items.Objects[index]);
BrushCopy(Bounds(Rect.Left + 2, Rect.Top, Bitmap.Width, Bitmap.Height),
Bitmap, Bounds(0, 0, Bitmap.Width, Bi tmap.Height), clRed);
TextOut(Rect.Left+50, Rect.Top, Listbox1.Items[Index]);
end;
end;
procedure TForm1.ListBox2DrawItem(Control:TWinControl; Index:Integer; Rect:TRect; State: TOwnerDrawState);
var Pic : TPicture;
begin
with Listbox2.Canvas do
begin
FillRect(Rect);
Pic := TPicture(Listbox2.Items.Objects[index]);
Draw(Rect.Left, Rect.Top, Pic.Graphic);
TextOut(Rect.Left+50, Rect.Top, Listbox2.Items[Index]);
end;
end;
즐거운 프로그래밍이 되시길~~
0
0
삭제
수정
댓글
김영대
•
1999.10.07 01:58
손주양 wrote:
> 안녕하세요.
> 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다.
> 알고 싶은건 ListBox에 item을 텍스트만 넣을 수 있나요?
> 아이콘을 넣을 수 있는 ListBox component가 따로 있는건지
> 아니면 기존에것도 지원을 하는지 알고 싶습니다.
> 그럼 답변 부탁드립니다.
TListBox, TComboBox 등의 OnDrawItem 을 사용하시면 됩니다
아래는 TImage의 그림을 ListBox의 모든 Item 에 그리는 예제인데
TImageList 들을 사용하시면 각각의 Item에 다른 Image를 올릴 수
있습니다
procedure TForm1.ListBoxDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TListBox).Canvas do
begin
FillRect(Rect);
BrushCopy(Bounds(Rect.Left, Rect.Top, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height),
Image1.Picture.Bitmap,
Bounds(0,0, Image1.Picture.Bitmap.Width, Image1.Picture.Bitmap.Height),
clRed);
TextOut(Rect.Left+21, Rect.Top+3, TListBox(Control).Items[Index]);
end;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김시영
1999.10.08 01:58
0
COMMENTS
/
0
LIKES
OleObject의 비교?
memogi
•
1999.10.08 00:40
1
COMMENTS
/
0
LIKES
모니터해상도 변경
김영대
•
1999.10.08 00:56
// 해상도 변경은 아래 예제와 같습니다 // 참고로 사용자가 해상도를 변경했는지 검사하는 방법은 // 제...
kskoo
1999.10.08 00:07
0
COMMENTS
/
0
LIKES
NMPOP3소스가지고 계신분 연락좀 주세요...(내용무)
장영선
•
1999.10.07 22:50
2
COMMENTS
/
0
LIKES
질문)VB에서의 MID함수처럼 쓰이는게 Delphi에서는 어떤건지..예제도좀..
구창민
•
1999.10.07 23:07
장영선 wrote: > 비쥬얼베이직에서는 특정 문자열을 가지고 오는 MID함수라는게 있는데 델파이에서는 특정...
이정욱
•
1999.10.07 22:53
음.. 하도 오래되어서 MID가 모하는 함수였는지 까먹었네요.. 만약 원하는 문자열을 찾는것이라면 POS ...
이상헌
•
1999.10.07 21:45
2
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
이재식
•
1999.10.08 20:31
안녕하십니까? 전에 있었던 제목과 틀려서 알아보질 못했습니다. 2가지 질문이군요, 먼저 제가 말씀드렸...
이주흥
•
1999.10.07 23:20
흠..안녕하세요... 첫번째 질문은 솔직히 이해가 안가구요.. 두번째 질문인 퀵리포트 출력은 간단합니다....
박성태
•
1999.10.07 21:19
2
COMMENTS
/
0
LIKES
델파이4와 Personal Oracle 연결
이재식
•
1999.10.08 03:55
박성태 wrote: > 델파이4와 Personal Oracle 7.3.3을 집에 있는 Pc에서 > 쓸려고 Local로 연결할려고 그...
오승섭
•
1999.10.08 00:41
박성태 wrote: > 델파이4와 Personal Oracle 7.3.3을 집에 있는 Pc에서 > 쓸려고 Local로 연결할려고 그...
여용구
•
1999.10.07 20:00
1
COMMENTS
/
0
LIKES
bmp 이외 그래픽 파일의 처리?
김종환
•
1999.10.07 20:14
여용구 wrote: > 안녕하세요.. > > 델파이를 처음 공부하는 사람입니다. > > 물어볼 것은... 이미...
David
•
1999.10.07 19:48
3
COMMENTS
/
0
LIKES
컴포넌트 밖에 캡션을?
구창민
•
1999.10.07 22:53
David wrote: > 안녕하십니까? > > Delphi의 Design Time에서 invisible Component(예:TQuery, TTable....
David
•
1999.10.07 23:31
구창민님 감사합니다만, 제 프로그램은 실행시 Panel이 움직입니다. 구창민님 답변대로라면, Panel아래 Pa...
구창민
•
1999.10.08 00:21
David wrote: > 구창민님 감사합니다만, 제 프로그램은 실행시 Panel이 움직입니다. > 구창민님 답변대로...
대열입니다
•
1999.10.07 19:34
1
COMMENTS
/
0
LIKES
DBGrid에서 memo 필드를 나타내게 하는방법. 정말 부탁 드려요..
이정욱
•
1999.10.07 20:36
음냐.. 그럼 무쟈게 편하게 하는 방법이 있습니다. 메모뿐 아니라 그림까지 나오는.... XPower라는 컴포...
심동식
•
1999.10.07 19:29
1
COMMENTS
/
0
LIKES
드라이브와 디렉토리를 바꿀려구요.
이정욱
•
1999.10.07 20:32
정확하게 이해가 가지 않습니다. 무슨 컴포넌트를 사용하시는지요? 생성시 폴더값을 넣으시면 당연히 되...
안경옥
•
1999.10.07 18:49
4
COMMENTS
/
0
LIKES
quickreport 문제입니다..좀 도와주세요
박윤종
•
1999.10.07 19:10
안경옥 wrote: > 안녕하십니까..지금 밖에 비가 오는데..우산은 가지고들 나오셨나요?? > 이런날씨에비맞...
이정욱
•
1999.10.07 19:08
안녕하세요? DB를 잘몰라서 두가지를 말씀해 볼께요.. 아래처럼 한번 해보시구요... qrlabel1.capti...
안경옥
•
1999.10.07 20:26
이정욱 wrote: > 안녕하세요? > DB를 잘몰라서 두가지를 말씀해 볼께요.. > > 아래처럼 한번 해보시구...
이정욱
•
1999.10.07 20:29
음.. 그럼 제 생각엔 다른곳에 문제가 있는것 같군요. qrlabel11.caption 이라는 값을 가지고 숫자처럼 활...
김홍진
•
1999.10.07 09:36
1
COMMENTS
/
0
LIKES
특정 디렉토리에 파일 저장 하기
박윤종
•
1999.10.07 10:19
김홍진 wrote: > 전문가님들의 고견을 구합니다. > > 질문 1. 디렉토리 생성은 MkDir(Edit1.Tex...
jackie
•
1999.10.07 04:50
1
COMMENTS
/
0
LIKES
barcode print...
이정욱
•
1999.10.07 19:12
당연 가능합니다. BarCode 컴포넌트는 상용도 있고 공개도 있습니다. 그런데 퀵리포트에서 사용하실...
김진철
•
1999.10.07 03:13
1
COMMENTS
/
0
LIKES
메모 컴포넌트
이정욱
•
1999.10.07 19:10
DBMemo를 사용하지 그러세요...?? 만약 DBMemo를 쓰기 싫어서 그러신다면.. mfield 라는 필드를 메모...
오용섭
•
1999.10.07 03:09
1
COMMENTS
/
0
LIKES
델파이 5와 델파이 4의 호환성
박윤종
•
1999.10.07 10:42
오용섭 wrote: > 안녕하세요 > > 이번에 출시된 델파이 5와 4의 호환성은 어느정도인지요.. 구체적으로...
한근수
1999.10.07 02:56
0
COMMENTS
/
0
LIKES
Too many open tables...
신사
1999.10.07 02:48
0
COMMENTS
/
0
LIKES
MSSQL7에서"조절ID가 없습니다"??
열심이
•
1999.10.07 02:23
1
COMMENTS
/
0
LIKES
모달폼 종료후 이전에 지정한 콤보상자 값 안보이게
박윤종
•
1999.10.07 10:29
열심이 wrote: 당연한 결과 입니다. 이것을 해결하기 위해서는 모달 폼의 종료시에 메인 폼의 해...
이일수
1999.10.07 02:13
0
COMMENTS
/
0
LIKES
인터베이스와 델파이...
손주양
•
1999.10.07 01:49
2
COMMENTS
/
0
LIKES
ListBox에 텍스트가 아닌 아이콘을 넣는방법
안녕하세요. 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다. 알고 싶은건 ListBox에 item을 텍스트만 넣을 수 있나요? 아이콘을 넣을 수 있는 ListBox component가 따로 있는건지 아니면 기존에것도 지원을 하는지 알고 싶습...
구창민
•
1999.10.07 02:02
손주양 wrote: > 안녕하세요. > 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다. > 알고 싶...
김영대
•
1999.10.07 01:58
손주양 wrote: > 안녕하세요. > 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다. > 알고 싶...
손주양
1999/10/07 01:49
Views
543
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요.
> 이곳에서 많은 도움을 받고 있습니다. 감사하게 생각합니다.
> 알고 싶은건 ListBox에 item을 텍스트만 넣을 수 있나요?
> 아이콘을 넣을 수 있는 ListBox component가 따로 있는건지
> 아니면 기존에것도 지원을 하는지 알고 싶습니다.
> 그럼 답변 부탁드립니다.
손주양님 안녕하세요?
Listbox의 canvas property와 onDrawItem event를 이용합니다.
style property은 lbOwnerDrawFixed나lbOwnerDrawVariable로 설정하세요.
Listbox에 bitmap 또는 icon data를 추가하는 방법은 AddObject method를 이용합니다.
ListBox1.Items.AddObject('Bitmap', Image1.Picture.Bitmap);
ListBox2.Items.AddObject('Icon', Image2.Picture);
procedure TForm1.ListBox1DrawItem(Control:TWinControl; Index:Integer; Rect:TRect; State: TOwnerDrawState);
var Bitmap : TBitmap;
begin
with Listbox1.Canvas do
begin
FillRect(Rect);
Bitmap := TBitmap(Listbox1.Items.Objects[index]);
BrushCopy(Bounds(Rect.Left + 2, Rect.Top, Bitmap.Width, Bitmap.Height),
Bitmap, Bounds(0, 0, Bitmap.Width, Bi tmap.Height), clRed);
TextOut(Rect.Left+50, Rect.Top, Listbox1.Items[Index]);
end;
end;
procedure TForm1.ListBox2DrawItem(Control:TWinControl; Index:Integer; Rect:TRect; State: TOwnerDrawState);
var Pic : TPicture;
begin
with Listbox2.Canvas do
begin
FillRect(Rect);
Pic := TPicture(Listbox2.Items.Objects[index]);
Draw(Rect.Left, Rect.Top, Pic.Graphic);
TextOut(Rect.Left+50, Rect.Top, Listbox2.Items[Index]);
end;
end;
즐거운 프로그래밍이 되시길~~