Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 ...
안녕하세요?
DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로
바꾸려고 하는데 어떻게 해야 합니까?
제발 알려주세요....
그럼 즐거운 하루 보내시길 바라며...
3
COMMENTS
최용일
•
2000.07.25 04:23
안녕하세요. 최용일입니다.
설명만 해드릴께요. 코딩으로 구현하세요...
마우스가 컨트롤(TDBGrid)내로 들어오면 OnMouseMove이벤트가 발생합니다. 이 이벤트의
파라매터로 들어오는 X, Y값을 이용해서 MouseCoord메소드를 호출하면 셀의 Row, Column
인덱스를 얻을수 있습니다. 이 Row, Column인덱스를 변수를 잡아서 저장해놓으시고,
OnDrawDataCell이벤트에서 이 셀이 마우스가 위치한 곳의 셀인가를 판단해서 색깔을
넣어 그려주시면 됩니다. 아래는 스트링그리드 예제인데 참고하세요...
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
GridCoord: TGridCoord;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = GridCoord.X) and (ARow = GridCoord.Y) then
begin
TStringGrid(Sender).Canvas.Brush.Color := clYellow; // 셀의 바탕을 노란색으로...
TStringGrid(Sender).Canvas.Font.Color := clRed; // 셀의 글자색을 빨간색으로...
TStringGrid(Sender).Canvas.FillRect(Rect);
TStringGrid(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end
else
inherited;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
GridCoord := StringGrid1.MouseCoord(X, Y);
if GridCoord.X >= 0 then
StringGrid1.Col := GridCoord.X;
if GridCoord.Y >= 0 then
StringGrid1.Row := GridCoord.Y;
end;
^^ 항상 즐코하세요.
나원용 wrote:
> 안녕하세요?
>
> DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로
> 바꾸려고 하는데 어떻게 해야 합니까?
>
> 제발 알려주세요....
> 그럼 즐거운 하루 보내시길 바라며...
>
0
0
삭제
수정
댓글
어린왕자
•
2000.07.26 01:20
용일님..질문이요~
DBGrid두 Row,Column으로 접근가능한가용? 가능하면..방법좀~~~
StringGrid처럼요???
최용일 wrote:
> 안녕하세요. 최용일입니다.
>
> 설명만 해드릴께요. 코딩으로 구현하세요...
>
> 마우스가 컨트롤(TDBGrid)내로 들어오면 OnMouseMove이벤트가 발생합니다. 이 이벤트의
>
> 파라매터로 들어오는 X, Y값을 이용해서 MouseCoord메소드를 호출하면 셀의 Row, Column
>
> 인덱스를 얻을수 있습니다. 이 Row, Column인덱스를 변수를 잡아서 저장해놓으시고,
>
> OnDrawDataCell이벤트에서 이 셀이 마우스가 위치한 곳의 셀인가를 판단해서 색깔을
>
> 넣어 그려주시면 됩니다. 아래는 스트링그리드 예제인데 참고하세요...
>
> TForm1 = class(TForm)
> StringGrid1: TStringGrid;
> procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
> Rect: TRect; State: TGridDrawState);
> procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
> Y: Integer);
> private
> GridCoord: TGridCoord;
> end;
>
> procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
> Rect: TRect; State: TGridDrawState);
> begin
> if (ACol = GridCoord.X) and (ARow = GridCoord.Y) then
> begin
> TStringGrid(Sender).Canvas.Brush.Color := clYellow; // 셀의 바탕을 노란색으로...
> TStringGrid(Sender).Canvas.Font.Color := clRed; // 셀의 글자색을 빨간색으로...
> TStringGrid(Sender).Canvas.FillRect(Rect);
> TStringGrid(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
> end
> else
> inherited;
> end;
>
> procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
> X, Y: Integer);
> begin
> GridCoord := StringGrid1.MouseCoord(X, Y);
> if GridCoord.X >= 0 then
> StringGrid1.Col := GridCoord.X;
> if GridCoord.Y >= 0 then
> StringGrid1.Row := GridCoord.Y;
> end;
>
> ^^ 항상 즐코하세요.
>
> 나원용 wrote:
> > 안녕하세요?
> >
> > DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로
> > 바꾸려고 하는데 어떻게 해야 합니까?
> >
> > 제발 알려주세요....
> > 그럼 즐거운 하루 보내시길 바라며...
> >
0
0
삭제
수정
댓글
최용일
•
2000.07.26 06:04
안녕하세요. 최용일입니다.
TDBGrid에서 TStringGrid처럼 Row, Column으로 직접 접근하는것은 별루 좋은 방법이
아네요.. TDBGrid는 가상뷰이기 때문에 데이타가 들어있는 테이블같은것을 이용해서
접근하는 것이 좋아요...
^^ 항상 즐코하세요.
어린왕자 wrote:
> 용일님..질문이요~
> DBGrid두 Row,Column으로 접근가능한가용? 가능하면..방법좀~~~
> StringGrid처럼요???
>
>
> 최용일 wrote:
> > 안녕하세요. 최용일입니다.
> >
> > 설명만 해드릴께요. 코딩으로 구현하세요...
> >
> > 마우스가 컨트롤(TDBGrid)내로 들어오면 OnMouseMove이벤트가 발생합니다. 이 이벤트의
> >
> > 파라매터로 들어오는 X, Y값을 이용해서 MouseCoord메소드를 호출하면 셀의 Row, Column
> >
> > 인덱스를 얻을수 있습니다. 이 Row, Column인덱스를 변수를 잡아서 저장해놓으시고,
> >
> > OnDrawDataCell이벤트에서 이 셀이 마우스가 위치한 곳의 셀인가를 판단해서 색깔을
> >
> > 넣어 그려주시면 됩니다. 아래는 스트링그리드 예제인데 참고하세요...
> >
> > TForm1 = class(TForm)
> > StringGrid1: TStringGrid;
> > procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
> > Rect: TRect; State: TGridDrawState);
> > procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
> > Y: Integer);
> > private
> > GridCoord: TGridCoord;
> > end;
> >
> > procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
> > Rect: TRect; State: TGridDrawState);
> > begin
> > if (ACol = GridCoord.X) and (ARow = GridCoord.Y) then
> > begin
> > TStringGrid(Sender).Canvas.Brush.Color := clYellow; // 셀의 바탕을 노란색으로...
> > TStringGrid(Sender).Canvas.Font.Color := clRed; // 셀의 글자색을 빨간색으로...
> > TStringGrid(Sender).Canvas.FillRect(Rect);
> > TStringGrid(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
> > end
> > else
> > inherited;
> > end;
> >
> > procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
> > X, Y: Integer);
> > begin
> > GridCoord := StringGrid1.MouseCoord(X, Y);
> > if GridCoord.X >= 0 then
> > StringGrid1.Col := GridCoord.X;
> > if GridCoord.Y >= 0 then
> > StringGrid1.Row := GridCoord.Y;
> > end;
> >
> > ^^ 항상 즐코하세요.
> >
> > 나원용 wrote:
> > > 안녕하세요?
> > >
> > > DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로
> > > 바꾸려고 하는데 어떻게 해야 합니까?
> > >
> > > 제발 알려주세요....
> > > 그럼 즐거운 하루 보내시길 바라며...
> > >
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김미좌
•
2000.07.25 17:44
1
COMMENTS
/
0
LIKES
ReportBuilder를 사용하는데요?
Black}{ole
•
2000.07.25 20:22
김미좌 wrote: > 저는 출력물은 rBuilder를 사용합니다 > 그런데 > 원래 구성했던 폼에서 다른폼으로 이...
바보
•
2000.07.25 14:49
3
COMMENTS
/
0
LIKES
질문] 폼이 뜰때 슬라이드 효과를 주고 싶은데요!
강인규
•
2000.07.25 21:10
formshow Event에...... AnimateWindow(handle, 1000, AW_HOR_POSITIVE); AnimateWindow(handle,...
바보
•
2000.07.25 23:17
강인규 wrote: > formshow Event에...... > AnimateWindow(handle, 1000, AW_HOR_POSITIVE); > ...
정덕
•
2000.07.25 20:29
여러가지 방법이 있는데요.. 가장 쉽게 하는 법은 Splash 폼을 사용하는 겁니다. sfrmSplash := TSplas...
최준연
•
2000.07.25 13:59
2
COMMENTS
/
0
LIKES
Cannot insert explicit value to identity column ..
김영해
•
2000.07.25 17:59
최준연 wrote: > SQL 7.0의 특정 Database에서..... > > 어떤 테이블의 첫번째필드(fields[0])이 prima...
최준연
•
2000.07.25 22:20
김영해 wrote: > 최준연 wrote: > > SQL 7.0의 특정 Database에서..... > > > > 어떤 테이블의 첫번째...
김경한
2000.07.25 11:38
0
COMMENTS
/
0
LIKES
스트링그리드에 생성된 값을 모양그대로 디비그리드에 넣을수 있는지??
배영진
2000.07.25 09:29
0
COMMENTS
/
0
LIKES
도와주세요!퀵리포트 출력을 b4->a4로 출력하려하는데방법좀 갈까주세요?
luckyChung
•
2000.07.25 07:26
1
COMMENTS
/
0
LIKES
UpdateSql에 관한 질문
사바리..
•
2000.07.25 19:04
with mainform.Query7 do begin close; sql.Clear; sql.Add('update 검사명세 se...
heimdal
2000.07.25 06:51
0
COMMENTS
/
0
LIKES
현재시간의 20분후..
하석
2000.07.25 06:53
0
COMMENTS
/
0
LIKES
[질문이요]TPrint 메소드에 관해서... ^^
최준연
2000.07.25 06:19
0
COMMENTS
/
0
LIKES
SQL 7.0에서 지원하는 blob Size...
장민수
•
2000.07.25 06:13
2
COMMENTS
/
0
LIKES
오토 업데이트???(NMFTP)
최용일
•
2000.07.25 06:30
메일로 보내드렸습니다... 확인해 보세요... ^^
이문환
•
2000.09.07 19:13
최용일 wrote: > 메일로 보내드렸습니다... 확인해 보세요... > > ^^ 실행화일의 업데이트때문에 고...
영호
2000.07.25 04:41
0
COMMENTS
/
0
LIKES
buffersize에 관해서
아리엘
•
2000.07.25 03:53
1
COMMENTS
/
0
LIKES
소켓으로 화일 전송 하는 방법 좀...
임형호
•
2000.07.25 20:41
아리엘 wrote: > 소켓으로 화일 전송을 하려고 합니다.. > > 소스나 문서가 있으면 좀 알려주세요... ...
나원용
•
2000.07.25 02:37
3
COMMENTS
/
0
LIKES
폼의 타이틀 부분을 더블클릭 할때....
최용일
•
2000.07.25 03:22
안녕하세요. 최용일입니다. 폼의 타이틀바를 더블클릭해서 최대화될때는 다음과 같이 해보세요... pr...
Black}{ole
•
2000.07.25 03:05
나원용 wrote: > 안녕하세요? > > WM_SYSCOMMAND 를 사용하여 폼이 최대화 되었을 때 처리해야 할 루틴...
최용일
•
2000.07.25 03:34
안녕하세요. 강민주님. 최용일입니다. 그동안 잘 지내셨는지요... 왜 이럴까요.. 예전부터 이상하게 ...
나원용
•
•
2000.07.25 02:33
3
COMMENTS
/
1
LIKES
DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 ...
안녕하세요? DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로 바꾸려고 하는데 어떻게 해야 합니까? 제발 알려주세요.... 그럼 즐거운 하루 보내시길 바라며...
최용일
•
2000.07.25 04:23
안녕하세요. 최용일입니다. 설명만 해드릴께요. 코딩으로 구현하세요... 마우스가 컨트롤(TDBGrid)내...
어린왕자
•
2000.07.26 01:20
용일님..질문이요~ DBGrid두 Row,Column으로 접근가능한가용? 가능하면..방법좀~~~ StringGrid처럼요??? ...
최용일
•
2000.07.26 06:04
안녕하세요. 최용일입니다. TDBGrid에서 TStringGrid처럼 Row, Column으로 직접 접근하는것은 별루 좋은...
손의성
2000.07.25 02:24
0
COMMENTS
/
0
LIKES
수동으로 WordWrap을 하려고 합니다.
전문성
•
2000.07.25 02:08
1
COMMENTS
/
0
LIKES
MS-Access에서 실수사용시
Black}{ole
•
2000.07.25 03:09
전문성 wrote: > MS-Access사용하여 델파이 프로그램을 짜는데 있어서 > 필드 속성을 실수(Single)을 사...
델초보
2000.07.25 02:04
0
COMMENTS
/
0
LIKES
2개의 DBGrid의 내용을 QReport로 출력하는 것에 대해...
이영근
•
2000.07.25 02:00
1
COMMENTS
/
0
LIKES
급한 질문 입니다 (쿼리 조건문)
정지호
•
2000.07.25 03:01
이영근 wrote: > 조건문 을 아래와 같이 했는데 error 가 납니다 > priceQuery.Sql.Add('Where ( (strtod...
어린왕자
•
2000.07.25 01:50
5
COMMENTS
/
0
LIKES
[기초] Function에서 언제 객체를 프리해야 하는지...
Black}{ole
•
2000.07.25 02:03
어린왕자 wrote: > 안녕하세요..어린왕자입니다.. > 질문은요,.. > Function CreateSaveList:TStringLis...
최용일
•
2000.07.25 02:32
안녕하세요. 최용일입니다. 함수의 결과값인 Result는 포인터입니다. 그러므로 강민주님의 말씀처럼 함...
어린왕자
•
2000.07.25 02:43
var SaveStringList:TStringList; begin SaveStringList:=TStringList.create; //혹시 여기서 Creat...
Black}{ole
•
2000.07.25 02:55
최용님 말씀이 옳쿤요.. 전 해보지도 않고 그럴것 같아 올렸는뎅 참고하세요. type TForm1 = class(...
최용일
•
2000.07.25 02:47
안녕하세요. 최용일입니다. Create는 함수내부에서 하니까 해줄필요가 없습니다. 해주어도 에러는 안나...
성찬
•
2000.07.25 01:42
1
COMMENTS
/
0
LIKES
ShockwaveFlash에서.. stop...
조규춘
•
2000.07.25 02:04
성찬 wrote: > ShockwaveFlash 컨포넌트로.. 플래쉬를 플래이 시키는 도중에.. > stop 시킬려구 하거든요...
나원용
2000/07/25 02:33
Views
481
Likes
1
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
설명만 해드릴께요. 코딩으로 구현하세요...
마우스가 컨트롤(TDBGrid)내로 들어오면 OnMouseMove이벤트가 발생합니다. 이 이벤트의
파라매터로 들어오는 X, Y값을 이용해서 MouseCoord메소드를 호출하면 셀의 Row, Column
인덱스를 얻을수 있습니다. 이 Row, Column인덱스를 변수를 잡아서 저장해놓으시고,
OnDrawDataCell이벤트에서 이 셀이 마우스가 위치한 곳의 셀인가를 판단해서 색깔을
넣어 그려주시면 됩니다. 아래는 스트링그리드 예제인데 참고하세요...
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
GridCoord: TGridCoord;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (ACol = GridCoord.X) and (ARow = GridCoord.Y) then
begin
TStringGrid(Sender).Canvas.Brush.Color := clYellow; // 셀의 바탕을 노란색으로...
TStringGrid(Sender).Canvas.Font.Color := clRed; // 셀의 글자색을 빨간색으로...
TStringGrid(Sender).Canvas.FillRect(Rect);
TStringGrid(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end
else
inherited;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
GridCoord := StringGrid1.MouseCoord(X, Y);
if GridCoord.X >= 0 then
StringGrid1.Col := GridCoord.X;
if GridCoord.Y >= 0 then
StringGrid1.Row := GridCoord.Y;
end;
^^ 항상 즐코하세요.
나원용 wrote:
> 안녕하세요?
>
> DBGRID위로 마우스가 위치하면 그 행(ROW)의 색깔을 빨강색으로
> 바꾸려고 하는데 어떻게 해야 합니까?
>
> 제발 알려주세요....
> 그럼 즐거운 하루 보내시길 바라며...
>