Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
listbox에서 색깔 주기..
listbox에 항목이 있는데여..
마우스를 가져가면 해당 항목만 반전(색깔변화)효과를 줄수는 없나여?
마우스가 가리키는 항목만여..마우스가 다른 항목을 가리키면 전에 가리킨
항목은 원래 색으로 돌아가구..새로 가리킨 항목이 반전 되는거염..
고수님들 알려주셈...
아무리 뒤져도 그런건 없는거 같애여..
addobject를 했는뎅 잘 안되네염..그건 아닌거 같궁..음..몰겠당..
알려주세여..
2
COMMENTS
최용일
•
2001.05.01 03:37
안녕하세요. 최용일입니다.
리스트박스의 Style속성을 lbOwnerDrawFixed or lbOwnerDrawVariable로 설정해서 오너드로우로 그려주고, OnMouseMove이벤트에서 아이템의 포커스(TListBox.ItemIndex)를 바꾸어주는 방식으로 코딩해봤습니다. 참조하세요...
object Form1: TForm1
Left = 192
Top = 133
Width = 157
Height = 372
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '굴림'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 12
object ListBox1: TListBox
Left = 12
Top = 12
Width = 121
Height = 321
ImeName = '한국어(한글)'
ItemHeight = 16
Style = lbOwnerDrawFixed
TabOrder = 0
OnDrawItem = ListBox1DrawItem
OnMouseMove = ListBox1MouseMove
end
end
unit uUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
public
MouseIndex: Integer;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.AddObject('clAqua', TObject(clAqua));
ListBox1.Items.AddObject('clBlack', TObject(clBlack));
ListBox1.Items.AddObject('clBlue', TObject(clBlue));
ListBox1.Items.AddObject('clDkGray', TObject(clDkGray));
ListBox1.Items.AddObject('clFuchsia', TObject(clFuchsia));
ListBox1.Items.AddObject('clGray', TObject(clGray));
ListBox1.Items.AddObject('clGreen', TObject(clGreen));
ListBox1.Items.AddObject('clLime', TObject(clLime));
ListBox1.Items.AddObject('clLtGray', TObject(clLtGray));
ListBox1.Items.AddObject('clMaroon', TObject(clMaroon));
ListBox1.Items.AddObject('clNavy', TObject(clNavy));
ListBox1.Items.AddObject('clOlive', TObject(clOlive));
ListBox1.Items.AddObject('clPurple', TObject(clPurple));
ListBox1.Items.AddObject('clRed', TObject(clRed));
ListBox1.Items.AddObject('clSilver', TObject(clSilver));
ListBox1.Items.AddObject('clTeal', TObject(clTeal));
// ListBox1.Items.AddObject('clWhite', TObject(clWhite)); 흰색은 안보이군요.
ListBox1.Items.AddObject('clYellow', TObject(clYellow));
MouseIndex := -1;
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with TListBox(Control) do
begin
if odFocused in State then
begin
Canvas.Brush.Color := TColor(Items.Objects[Index]);
Canvas.Font.Color := clWhite;
end
else
begin
Canvas.Brush.Color := clWhite;
Canvas.Font.Color := TColor(Items.Objects[Index]);
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Items[Index]);
end;
end;
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
TListBox(Sender).ItemIndex := TListBox(Sender).ItemAtPos(Point(X, Y), False)
end;
end.
^^ 항상 즐코하세요...
이슬이(참이슬) wrote:
> listbox에 항목이 있는데여..
> 마우스를 가져가면 해당 항목만 반전(색깔변화)효과를 줄수는 없나여?
> 마우스가 가리키는 항목만여..마우스가 다른 항목을 가리키면 전에 가리킨
> 항목은 원래 색으로 돌아가구..새로 가리킨 항목이 반전 되는거염..
> 고수님들 알려주셈...
> 아무리 뒤져도 그런건 없는거 같애여..
> addobject를 했는뎅 잘 안되네염..그건 아닌거 같궁..음..몰겠당..
> 알려주세여..
0
0
삭제
수정
댓글
이슬이(참이슬)
•
2001.05.03 00:30
ㅁ
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
베라미스
•
2001.05.01 02:17
1
COMMENTS
/
0
LIKES
[질문!! 꼭 좀 올려주세요]QRP 버전을 올리려면?
최용일
•
2001.05.01 02:39
안녕하세요. 최용일입니다. 전 잘 받아지던데요. 이상하네요... 암튼 자료실에 올려두었습니다. ^^ ...
이슬이(참이슬)
•
2001.05.01 02:11
2
COMMENTS
/
0
LIKES
listbox에서 색깔 주기..
listbox에 항목이 있는데여.. 마우스를 가져가면 해당 항목만 반전(색깔변화)효과를 줄수는 없나여? 마우스가 가리키는 항목만여..마우스가 다른 항목을 가리키면 전에 가리킨 항목은 원래 색으로 돌아가구..새로 가리킨 항목이 반전 되는...
최용일
•
2001.05.01 03:37
안녕하세요. 최용일입니다. 리스트박스의 Style속성을 lbOwnerDrawFixed or lbOwnerDrawVariable로 설정...
이슬이(참이슬)
•
2001.05.03 00:30
ㅁ
설창원
2001.05.01 02:09
0
COMMENTS
/
0
LIKES
EDBEngineError with message "Name not Unique i
이원택
•
2001.05.01 02:07
1
COMMENTS
/
0
LIKES
이미지 LoadFile할 경우 없는 이미지는 ?
방기남
•
2001.05.01 02:16
안녕하세요. 방기남(26)입니다. 간단하게 하시면 안될까요? if FileExists('c:windows1.jpg') = fal...
chobo
•
2001.05.01 02:05
2
COMMENTS
/
0
LIKES
@@@ㅠ.ㅠ 도와주셔요
하기
•
2001.05.01 03:06
Eof 는 End of File아닌가요??? 디테일 밴드에서 데이타의 유무를 체크하신후 디테일 밴드의 before에서...
chobo
•
2001.05.01 03:13
하기 님 감사합니다.~~~
델파이 궁금이
2001.05.01 02:36
0
COMMENTS
/
0
LIKES
파일에 특정data를 붙이려합니다. 도와 주세요.
chobo
2001.05.01 01:20
0
COMMENTS
/
0
LIKES
파라독스디비에 jpeg....ㅠ.ㅠ;
홍동훈
2001.05.01 01:13
0
COMMENTS
/
0
LIKES
엑셀에서 매장마다 타아틀 주는 방법 있나여?
성더기
2001.05.01 01:05
0
COMMENTS
/
0
LIKES
MS-SQL7에서 스토어드 프로시져를 인라인뷰나 섭쿼리처럼 사용하기...
홍동훈
•
2001.05.01 01:04
1
COMMENTS
/
0
LIKES
Edit 컴포넌트에 값이 있을때 거기로 이동시 리버스 시키는 방법?
파도랑
•
2001.12.11 00:55
Edit1.SelectAll 하심 됩니다...
mallove
•
2001.05.01 00:28
2
COMMENTS
/
0
LIKES
디비에 저장된 이미지파일 퀵리포트에 보여주기
김동환
•
2001.05.01 00:36
mallove wrote: > 테이블의 string 속성 필드에 이미지파일을 저장해 두었습니다. > 'c:Image사진.bmp' ...
mallove
•
2001.05.01 00:51
김동환 wrote: > mallove wrote: > > 테이블의 string 속성 필드에 이미지파일을 저장해 두었습니다. > ...
과객
2001.05.01 00:16
0
COMMENTS
/
0
LIKES
TQueue 사용에 대해서...
chobo
•
2001.05.01 00:07
1
COMMENTS
/
0
LIKES
quickrep 마스터디테일 관계 에서말입니다.
감초
•
2001.05.01 04:34
chobo wrote: > Quick Rep 로 마스터 디테일 관계를 출력하려하는데요 > > 디테일테이블에 데이터가없...
병아리
•
2001.05.01 00:07
2
COMMENTS
/
0
LIKES
배열 초기화에 대해여
최용일
•
2001.05.01 03:43
안녕하세요. 최용일입니다. 배열의 초기화는 맞았는데 그 안에 들어가는 레코드의 초기화가 잘못됐군요....
병아리
•
2001.05.01 04:24
..
왕초보자..
2001.04.30 23:25
0
COMMENTS
/
0
LIKES
퀵리포트에 관해서...
심현지
•
2001.04.30 23:22
1
COMMENTS
/
0
LIKES
움직이는 gif 파일에 관한 질문입니다.
최용일
•
2001.05.01 03:48
안녕하세요. 최용일입니다. 흠~ 'invalid property value'란 에러가 나오는 것을 보면 컴포넌트 이름이 ...
초보자
•
2001.04.30 23:01
3
COMMENTS
/
0
LIKES
TEXT FILE 읽기(RETURN값이 없는)
하기
•
2001.05.01 01:28
참고가 될까요??? 자세히 보면 규칙이 있을것 같은데요.. 이름은 한글3자 주민번호는13자리 주소는 XX자...
초보자
•
2001.05.01 02:02
한레코드씩 어떠케 읽어 들일 수 있나요??? 읽어 들이는 방법 좀 알려 주십시오........ 하기 wrote: ...
하기
•
2001.05.01 03:08
Memo1.Lines[i] 이런식으로 하면 되지 않을까요... i는 For나 While문을 돌리시면 될것 같구요... 그럼....
김해진
•
2001.04.30 22:57
1
COMMENTS
/
0
LIKES
SQL과 TCHART를 사용하여 이런거 가능하나요?
감초
•
2001.05.01 04:37
김해진 wrote: > 저는 델초보입니다. 다름이 아니오라 다음과 같은 상황에 처해있습니다. > > 오라클을...
호야
•
2001.04.30 22:53
1
COMMENTS
/
0
LIKES
콤포넌트위에 마우스가 올라왔는지를 알수 있나요?
파도랑
•
2001.12.11 00:56
CMMouseEnter, CMMouseLeave메시지를 가로채서 사용하시면 됩니다. 필요한 컴포넌트 하나를 만들어 쓰시...
김아성
2001.04.30 21:45
0
COMMENTS
/
0
LIKES
DB에 데이터를 추가 시킬려고 합니다. 도와주세요
이슬이(참이슬)
2001/05/01 02:11
Views
191
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
리스트박스의 Style속성을 lbOwnerDrawFixed or lbOwnerDrawVariable로 설정해서 오너드로우로 그려주고, OnMouseMove이벤트에서 아이템의 포커스(TListBox.ItemIndex)를 바꾸어주는 방식으로 코딩해봤습니다. 참조하세요...
object Form1: TForm1
Left = 192
Top = 133
Width = 157
Height = 372
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '굴림'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 12
object ListBox1: TListBox
Left = 12
Top = 12
Width = 121
Height = 321
ImeName = '한국어(한글)'
ItemHeight = 16
Style = lbOwnerDrawFixed
TabOrder = 0
OnDrawItem = ListBox1DrawItem
OnMouseMove = ListBox1MouseMove
end
end
unit uUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
public
MouseIndex: Integer;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.Items.AddObject('clAqua', TObject(clAqua));
ListBox1.Items.AddObject('clBlack', TObject(clBlack));
ListBox1.Items.AddObject('clBlue', TObject(clBlue));
ListBox1.Items.AddObject('clDkGray', TObject(clDkGray));
ListBox1.Items.AddObject('clFuchsia', TObject(clFuchsia));
ListBox1.Items.AddObject('clGray', TObject(clGray));
ListBox1.Items.AddObject('clGreen', TObject(clGreen));
ListBox1.Items.AddObject('clLime', TObject(clLime));
ListBox1.Items.AddObject('clLtGray', TObject(clLtGray));
ListBox1.Items.AddObject('clMaroon', TObject(clMaroon));
ListBox1.Items.AddObject('clNavy', TObject(clNavy));
ListBox1.Items.AddObject('clOlive', TObject(clOlive));
ListBox1.Items.AddObject('clPurple', TObject(clPurple));
ListBox1.Items.AddObject('clRed', TObject(clRed));
ListBox1.Items.AddObject('clSilver', TObject(clSilver));
ListBox1.Items.AddObject('clTeal', TObject(clTeal));
// ListBox1.Items.AddObject('clWhite', TObject(clWhite)); 흰색은 안보이군요.
ListBox1.Items.AddObject('clYellow', TObject(clYellow));
MouseIndex := -1;
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with TListBox(Control) do
begin
if odFocused in State then
begin
Canvas.Brush.Color := TColor(Items.Objects[Index]);
Canvas.Font.Color := clWhite;
end
else
begin
Canvas.Brush.Color := clWhite;
Canvas.Font.Color := TColor(Items.Objects[Index]);
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Items[Index]);
end;
end;
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
TListBox(Sender).ItemIndex := TListBox(Sender).ItemAtPos(Point(X, Y), False)
end;
end.
^^ 항상 즐코하세요...
이슬이(참이슬) wrote:
> listbox에 항목이 있는데여..
> 마우스를 가져가면 해당 항목만 반전(색깔변화)효과를 줄수는 없나여?
> 마우스가 가리키는 항목만여..마우스가 다른 항목을 가리키면 전에 가리킨
> 항목은 원래 색으로 돌아가구..새로 가리킨 항목이 반전 되는거염..
> 고수님들 알려주셈...
> 아무리 뒤져도 그런건 없는거 같애여..
> addobject를 했는뎅 잘 안되네염..그건 아닌거 같궁..음..몰겠당..
> 알려주세여..