Q&A

  • DrawFocusRect와 선택되지 않은 Component의 Focus표시
화면에 Tbutton이 2개 있고 TImage가 3개 있습니다.

Button1, Button2, Image1, Image2, Image3



각 Component를 Click하면 여기에 Focus를 주고 Select되었다는 표시를 하고자 합니다.

그런데....

Image에는 Select되었다는 표시를 TImage.canvas.DrawFocusRect로 Select 표시를 합니다.

여기서 Image1에서 Image2로 넘어갈때 Image1에 DrawFocusRect된것은 없어지지 않더군요. XOR로 Toggle인거 같던데...

그럼.. 여기서 질문 하나.

DrawFocusRect로 그려진 상태를 알수 있는 방법은 있나요?



다음은 Button을 누른뒤에 image를 누르면 Button이 Select상태가 그대로 유지됩니다.

분명 Focus는 Image로 넘어갔는데 보이기에 Button이 선택되어진것처럼 보입니다.

그럼... 여기서 질문 둘.

Button이 Select되지 않았을때 Select되었을때 나타나는 표시를 없애는 방법은 있나요?



궁금합니다.

답변기다리겠습니다.

1  COMMENTS
  • Profile
    최용일 2001.04.19 01:42
    안녕하세요. 최용일입니다.



    DrawFocusRect로 그려진 상태를 알수 있는 방법은 있나요?

    없습니다.

    님이 변수나 속성을 하나 만들어서 그리거나 지울때 그 상태를 나타내도록 코딩을 하셔야 합니다.



    이미지(TImage)는 버튼(TButton)과 달리 윈도우가 아님니다. 때문에 포커스를 가질수 없습니다. 그래서 버튼에 포커스가 있을때 이미지를 클릭해봤자 포커스가 이동하지 않습니다.



    델파이 컴포넌트중에서 포커스를 가질수 있는 윈도우객체는 TWinControl에서 파생된 컴포넌트 뿐입니다.



    TWinControl에서 파생된 이미지(TImage)와 동일한 기능을 하는 새로운 이미지컴포넌트를 만들어서 사용해야 할 듯하네요...



    ^^ 항상 즐코하세요.



    유희정 wrote:

    > 화면에 Tbutton이 2개 있고 TImage가 3개 있습니다.

    > Button1, Button2, Image1, Image2, Image3

    >

    > 각 Component를 Click하면 여기에 Focus를 주고 Select되었다는 표시를 하고자 합니다.

    > 그런데....

    > Image에는 Select되었다는 표시를 TImage.canvas.DrawFocusRect로 Select 표시를 합니다.

    > 여기서 Image1에서 Image2로 넘어갈때 Image1에 DrawFocusRect된것은 없어지지 않더군요. XOR로 Toggle인거 같던데...

    > 그럼.. 여기서 질문 하나.

    > DrawFocusRect로 그려진 상태를 알수 있는 방법은 있나요?

    >

    > 다음은 Button을 누른뒤에 image를 누르면 Button이 Select상태가 그대로 유지됩니다.

    > 분명 Focus는 Image로 넘어갔는데 보이기에 Button이 선택되어진것처럼 보입니다.

    > 그럼... 여기서 질문 둘.

    > Button이 Select되지 않았을때 Select되었을때 나타나는 표시를 없애는 방법은 있나요?

    >

    > 궁금합니다.

    > 답변기다리겠습니다.