1746432665847
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
495
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)의 색깔을 빨강색으로
> 바꾸려고 하는데 어떻게 해야 합니까?
>
> 제발 알려주세요....
> 그럼 즐거운 하루 보내시길 바라며...
>