|
일단 답변달아주셔서 정말 감사합니다..ㅠㅠ
그래서 다른 실험을 해봤는데 Down일때 ShowMessage로 Down출력,
Click일때 또한 ShowMessage로 Cilck을 출력했는데
결과적으로 Click이 먼저 뜨고 바로 Down메세지가 뜹니다 ㅠㅠ
이것또한 말씀하신 이유때문일까요??힝 ㅠㅠ
**추가
아 그리고 말씀듣고 다시 관찰해보니 Click이벤트가 마우스를 떼기 전에 일어납니다 ㅠㅠ
그러니까 MouseUp이 일어나기도 전에 Click이벤트가 일어나요
이걸 먼저 말씀드렸어야하는데 ㅠㅠ
장성호 님이 쓰신 글 :
: 논리적으로 OnClick이 MouseDown보다 빨리 발생할수가 없습니다.
:
: 마우스 동작이 다음과 같은 순으로 일어나겠죠
: Down->Move->Up
:
: 그럼 이벤트는
: OnMouseDown
: OnMouseMove ( 움직이지 않으면 발생하지 않음)
: OnClick ( Mouse왼쪽버튼을 영역안에서 Up해야 발생함)
: OnMouseUp
:
: 위에서 OnClick이벤트는
: 마우스 왼쪽버튼을 Up해야 발생합니다
: 단지 OnMouseUp이벤트보다 먼저 이벤트를 호출해 줍니다.
: 그리고 Control영역 안에서 MouseUp해야 OnClick이벤트가 발생하구요
:
: -------------------------------------------------------------------------
: 결론적으로
: OnClick이 OnMouseDown보다 먼저 발생한것이 아니라
: OnMouseDown이후에 화면갱신이 늦어서, 늦게 발생한것처럼 보이는것이 아닌가 하는 생각이 듭니다.
:
: 그럼..
:
: 궁그미 님이 쓰신 글 :
: : 안녕하세요!! 질문 올립니다.
: :
: : StringGrid에 MouseDown과 OnClick이벤트를 줬는데요
: : MouseDown하면 선택한 Row의 색이 눈에띄게 바꾸는거고,
: : OnClick하면 해당 Row의 정보를 Modal로 띄우는 겁니다.
: :
: : 엄청 짧고 작은 프로그램에서 돌릴땐 분명히 잘돌아갔는데
: : 데이터가 크고 긴프로그램에서 하니까 Click이벤트 후에 Down이벤트가 일어납니다 ㅠㅠ
: : 그러니까 색이 먼저 바뀌는게 아니고 창이먼저 뜬다음에 색이 바뀌어요 ㅠㅠ
: :
: : 이게 왜이러는걸까요??
: :
: : 아 그리고 Down이벤트 할때 색바뀌는게 맨처음에 StringGrid에 진입하면 첫줄이 바뀌던데
: : 포커스때문에 그러는것같은데 이 포커스 아예 없앨 방법이 있나요?
: :
: : 그럼 답변달아주시면 감사하겠습니다 ㅠㅠ
: :
|