Q&A

  • 포커스가 있는 컨트롤 알아내기?
현재 품위에 edit와 Control이 여러개가 있는데..
어떤것이 현재 포커스를 가지고 있는지 알수 있는 방법을
알고 싶습니다.. 제가 구현하고 싶은것은
DBGrid에 포커스가 있으면 삭제 버튼이 Enabled되고 포커스를 안받으면
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
다시 DisEnabled 되는 것을 구현하고 싶습니다...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
적고나니 두서없이 적었군요..
아무튼 이해하시고 적절한 처리방법을 알고싶습니다..


3  COMMENTS
  • Profile
    성더기 2002.06.21 02:51
    Form1.ActiveControl인가요?
    아마 그런 프로퍼티가 있을겁니다

    그걸 체크해보시는 것은 어떨까요?
  • Profile
    하기 2002.06.20 18:52
    이렇게 함 해보세요...
    if ActiveControl = DBGrid then
       showmessage('DBGrid가 포커스를 가졌네요);

  • Profile
    이재식 2002.06.20 06:31
    안녕하세요.

    그런경우는 어떤 컴포넌트가 포커스를 가졌느냐 판단해서 하시려면
    더 힘들겁니다.
    어느 버튼을 눌렀을때 해당 포커스는 그 버튼에 가 있습니다.
    그러므로 클릭 시점에서는 그 해당 컴포넌트가 늘 포커스를 가지므로
    컴포넌트의 포커스 개념보단

    가령,
    디비그리드 onEnter 이벤트에서는
    SetEnableButton(true, true, true) ; // 조회버튼,  저장버튼, 삭제버튼등등
    이처럼 해당 버튼의 enabled의 속성값을 주시는것이 좋을듯 하네요.

    onExit이벤트에서는
    SetEnableButton(true, false, false) ;

    위와같은 SetEnableButton프로시저를 만들어 사용하는것이 좋을듯 합니다.