Q&A

  • StringGrid에서 DblClick시 Row, Col...
StringGrid에서 DblClick 이벤트가 일어날 시점에서의 Row와 Col을

알고 싶습니다.

DblClick이벤트에서 Row, Col Property를 읽어보니 현재 select된

값이 나오더군요.

이를테면 fixed Row에서 더블클릭했을 경우엔 row = 0이란 값을

얻고 싶은데 그게 안되고 현재 선택된 1이상의 값이 나오더라는 거지요.

MouseDown 이벤트에서 커서위치로 원하는 Col, Row를 구할 수는 있지만

저는 더블클릭 이벤트시에 작업이 진행되길 원하거든요..



제가 원하는 바가 제대로 전달되었는지 모르겠습니다.

아시는 분이 계시면 꼭 답변 부탁드립니다.



2  COMMENTS
  • Profile
    최용일 2000.07.26 05:59
    안녕하세요. 최용일입니다.



    다음과 같이 전역마우스객체인 Mouse를 이용하시면 구할 수 있습니다.



    procedure TForm1.StringGrid1DblClick(Sender: TObject);

    var

    ACol, ARow: Integer;

    P: TPoint;

    begin

    // 현재의 마우스 좌표를 클라이언트(StringGrid1)의 좌표로 바꾼다...

    P := StringGrid1.ScreenToClient(Mouse.CursorPos);



    // 행(ACol)과 열(ARow)의 좌표를 얻는다.

    StringGrid1.MouseToCell(P.X, P.Y, ACol, ARow);



    // ACol, ARow로 작업하시면 됩니다....

    end;



    ^^ 항상 즐코하세요.



    배성학 wrote:

    > StringGrid에서 DblClick 이벤트가 일어날 시점에서의 Row와 Col을

    > 알고 싶습니다.

    > DblClick이벤트에서 Row, Col Property를 읽어보니 현재 select된

    > 값이 나오더군요.

    > 이를테면 fixed Row에서 더블클릭했을 경우엔 row = 0이란 값을

    > 얻고 싶은데 그게 안되고 현재 선택된 1이상의 값이 나오더라는 거지요.

    > MouseDown 이벤트에서 커서위치로 원하는 Col, Row를 구할 수는 있지만

    > 저는 더블클릭 이벤트시에 작업이 진행되길 원하거든요..

    >

    > 제가 원하는 바가 제대로 전달되었는지 모르겠습니다.

    > 아시는 분이 계시면 꼭 답변 부탁드립니다.

    >

  • Profile
    배성학 2000.07.27 19:42
    그런 방법이 있었군요.

    답변 고맙습니다. :)