none
(e.State & DrawItemState.Selected) 왜 이렇게 해야하는건가요? RRS feed

  • 질문

  • 콤보박스를 DrawItem 이벤트를 이용해서 내용물을 모양,색상,폰트 를 바꿔서 뿌려주고있는데요.

    아이템에 마우스를 같다대면 반응하는 롤오버 효과를 만들고 있는데

     (e.State & DrawItemState.Selected) == DrawItemState.Selected 이렇게 해야 하는 이유를 알고 싶습니다.

    그냥 e.State == DrawItemState.Selected 이렇게 하면 작동이 안되더군요. 똑같은거 아닌가요?

    2016년 1월 15일 금요일 오전 4:51

답변

  • 콤보박스를 DrawItem 이벤트를 이용해서 내용물을 모양,색상,폰트 를 바꿔서 뿌려주고있는데요.

    아이템에 마우스를 같다대면 반응하는 롤오버 효과를 만들고 있는데

     (e.State & DrawItemState.Selected) == DrawItemState.Selected 이렇게 해야 하는 이유를 알고 싶습니다.

    그냥 e.State == DrawItemState.Selected 이렇게 하면 작동이 안되더군요. 똑같은거 아닌가요?

    안녕하세요.

    내용을 잘 보시면,

    (e.State & DrawItemState.Selected) == DrawItemState.Selected 

    & 기호가 하나만 있는것을 눈치채셨을껍니다.

    & 와 && 의 차이가 있습니다.

    & 연산자에 대해서는 아래에 링크 남기겠습니다.

    [ & 연산자(C# 참조) ]

     

    또한, e.State 라는것은 DrawItemEventArgs 의 State 로써, 현재 화면에 그려져있는지를 일컫는 구문입니다.

    현재, 화면에 표시된 상태로써 / 그려진 객체가 선택되어진 상태 가 되겠죠.

    도움되시길 바랍니다.


    프로그램 개발에는 정답이 없다.

    • 답변으로 제안됨 Sungman KOMVP 2016년 1월 18일 월요일 오전 1:02
    • 답변으로 표시됨 블루베어 2016년 1월 18일 월요일 오전 2:42
    2016년 1월 18일 월요일 오전 1:01