Q&A

  • DBGrid에서 마우스가 있는곳의 데이타를 힌트를 보여줄때.
음 ... 이문제를 해결하기위해는



MouseMove이벤트가 DBGrid에 있어야 겠는데요... 근데 DBGrid에는 없잖아요.. 그쵸..



그래서.. 여러방법을 생각해보았으나... CellClick이벤트뿐이 없고.. 근데 이것은 좀



허접하구요...어쨌던... Cell에 Click한상태가 아닌 마우스가 위치한곳의 데이타를



보여주고 싶습니다..(Cell의 값..)...



답변 부탁드립니다..



<참고로... StringGrid의 Cell값을 보여주는 힌트입니다..>



procedure TfrmCustLedger.StrGrid_ListMouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

var

iRow, iCol : integer;

begin

// 값의 힌트를 보이기 위해

(Sender as TStringGrid).MouseToCell(X, Y, iCol, iRow); // x,y값을 넣으면 현재의 col및 Row 값이 나옴

If ( iRow = 0 ) or (iCol < 0) or (iRow < 0 ) then begin // Title 이거나 마우스가 그리드의

// 왼쪽으로 빠질때...

(Sender as TStringGrid).ShowHint := False;

End

Else begin

(Sender as TStringGrid).ShowHint := True;

if ((Row <> iRow) or // Row, Col 전에 가지고 있던 Cell위치값

(Col <> iCol)) then begin

Row := iRow;

Col := iCol;

Application.CancelHint;

(Sender as TStringGrid).Hint := Trim((Sender as TStringGrid).Cells[Col,Row]);

end;

End;

end;

0  COMMENTS