|
잘 모르겠네요 ㅜㅜ
급하게나마 스테이터스바 추가해서 스테이터스바에 힌트 내용이 나오게는 해놨는데...
곧 다시 수정해야 할것 같네요 ㅜㅜ
장성호님 감사합니다
장성호 님이 쓰신 글 :
: 투명폼 뒤에 있는 폼에서 마우스(Cursor)위치의 Control을 찾는 방법에 혹 문제가 있는것 아닌가요?
:
:
: [WinControl의 Controls배열에 대해..]
:
: TForm을 포함하여 TWinControl은 (TPanel , TPageControl , TButton...등)은
: Controls라는 배열과 ControlCount라는 프로퍼티가 있습니다.
:
: 이 배열에는 WinControl 을 parent로 가진 GraphicControl이나 WinControl이 들어있습니다.
:
: 예를들어 Form위에 Panel1 , Panel2 가 있구 Panel1 위에 Button1 이 있다면
: Form->Controls 배열에는 Panel1 과 Panel2가 있구
: Panel1->Controls 배열에 Button1이 있는것이죠
:
:
: [Controls배열에 담긴 순서]
: 그리고 Controls배열에 담겨진 순서는
: GraphicControl( TLabel , TBevel , TSpeedButton , TImage...) 이 앞쪽에 있구
: WinControl이 뒷쪽에 있습니다.
:
: 그러니까 화면의 맨 앞쪽에 보이는 컨트롤이
: Controls배열의 맨 마지막 index에 있는것이죠
:
: 폼의 경우는...
: Form->Controls[Form->ControlCount -1];
:
:
: [Cursor위치의 Control찾기]
: 위 Controls배열을 이용하여 Cursor(마우스)위치의 Control을 찾을수 있습니다.
:
: 1) 위에 설명했듯이 맨 앞쪽에 있는것이 배열 맨 마지막 Index에 있으니
: 찾을때 뒷쪽에서 부터 찾아야 겠죠
:
: 2) 그리고 또 중요한것은
: Form,Frame , Panel, PageControl 등의 다른 Control을 포함하는 Control의 경우
: 현재 Cursor아래 Control은 포함하고 있는 Control중에 하나일수도 있겠죠~!
:
: 그러니까 Child-Control이 있는경우에는 다시 반복해야겠죠
:
: 3) 그리고 Control의 좌표는 Parent-Control에 상대 좌표이므로
: ScreenToClient를 잘 해야하구요..
:
:
: 그럼..
:
:
:
: 박진수 님이 쓰신 글 :
: : 안녕하세요
: :
: : 현재 폼 위에 패널이 여러개 있는 상황이고, 그 패널들 위에 투명한 폼이 얹어져 있습니다.
: :
: :
: : 제가 원하는 기능은 마우스가 패널에 올라갔을때 패널에 해당하는 지정된 힌트가 나오는건데요.
: :
: : 투명폼 좌표 아래에 패널이 있는지 없는지 확인해서 있으면 폼에 힌트가 나오게 했습니다.
: :
: : 그런데 이 방법은 패널들이 겹쳐있으면 사용이 안되더군요.
: :
: : ex)A패널이 B패널을 반쯤 덮고 있는 상황에서,
: :
: : A패널의 힌트가 나오고 있는데 마우스를 움직여서 바로 B패널로 이동하면 B패널의 힌트가 안나오더군요.
: :
: : 아무것도 없는곳에 갔다가 B패널에 가면 힌트가 제대로 나오는데 바로 갔을때만 이런 현상이 나오더군요.
: :
: : 이거 어떻게 해결 할 수 있는 방법이 있을까요?
|