C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[40472] Re:[질문]cellselect 옵션
소리바람.OJ [phonon] 1111 읽음    2005-06-09 10:28
OnSelectCell 이벤트도 잘 됩니다.
다시 한번 확인해 보시기 바랍니다.

MouseDown 이벤트를 사용하셔도 됩니다.
그러나, StringGrid에 Scrollbar가 없으며, 완전히 펼쳐진(?) 상태일때 잘 동작합니다.


선언하시고,
private:    // User declarations
    TRect sgRect;
    struct _sgPos
    {
        int nCol;
        int nRow;
    }sgPos;
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  //OnSelectCell를 위한 값 설정
   sgPos.nCol = 0;
   sgPos.nRow = 3;

   //OnMouseDown를 위한 값 설정
   sgRect = StringGrid1->CellRect(0,3);
}

void __fastcall TForm1::StringGrid1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    if ( (X>=sgRect.Left)&&(X<=sgRect.Right) )
    {
        if( (Y>=sgRect.Top)&&(Y<=sgRect.Bottom) )
        {
            ShowMessage("MouseDown_OK");
        }
    }
}

void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
    if( (ACol == sgPos.nCol)&&(ARow == sgPos.nRow) )
    {
        ShowMessage("Selection_OK");
    }
}


건승을 빕니다.


랴노 님이 쓰신 글 :
: 이 질문 제목이 맞을지는 모르겠는데
: 현제 달력을 제작해서 달력의 해날 날짜 셀을 클릭 했을때 이벤트를 발생 시킬려고 하는데요
: CellSelect 이벤트 사용하니까 얼추 기본적인 사항은 되는데
: 제가 원하는 건 클릭 했을때 이벤트 발생인데
: cellSelect 이벤트 사용시 클릭이 아니라 마우스나 포인트가  그 해당 셀에 올라가기만 하면
: 클릭 하지 않아도 이벤트가 발생 하네요.
: 찾아보니까 mouseDown 이벤트가 있는데 그건 해당 셀의 위치값 그러니까 ACol,ARow 값을
: 못 가져 오고 그냥 마우스 포인트 위치만 가져 오는거 같은데..
: 무슨 방법이 없을까요
: 여기서 중요한건
: 셀을 클릭 했을때 이벤트 발생입니다..
: 좋은 답변 부탁 드립니다..

+ -

관련 글 리스트
40469 [질문]cellselect 옵션 랴노 832 2005/06/09
40483     달력 클래스 BCB에 있습니다. 볼레롱 987 2005/06/09
40472     Re:[질문]cellselect 옵션 소리바람.OJ 1111 2005/06/09
40471     [답변] StringGrid의 Click이벤트만 이용해도 됩니다. 정성훈.해미 1935 2005/06/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.