inspiration

vba의 기반인 vb6가 기술지원이 종료된게 언제일까? 비개발자, 마케터의 레벨에서 업무에서 친숙하게 사용하는 거의 유일한 프로그래밍 언어가 수십년전 기술이라는건 참 아쉽다.

지금 시점의 기술과 비교하여 뭔가를 해보자면 이가 빠지게 된 건 당연한것인지도 모르지만, 오늘은 object를 버튼으로 사용할때 마우스 hover효과를 내는 우회방법에 대해 시도해본다.

macrotoolkit을 만들었는데 마우스 클릭 느낌이 없으니 참 심심하다. 사용상 전혀 문제는 없는데, 어차피 내 만족에 하는거니까..
사실, 아주 쉽게 될줄 알았는데 대단히 착각이었다. 오기가 생겨서 시도 했다는게 맞는 표현이다.



result

버튼을 button 대신 label 컴포넌트로 처리했는데, 아이콘 이미지를 넣기 위함이었다. 이로인해 클릭이나 hover 효과가 먹지 않았다. button 컴포넌트를 쓰면 해결될일인가? 그것도 그닥 아름답지 않으니 해결책인지 잘 모르겠다.
여튼 현재는 label 위에 이미지가 올라간 형태가 되어 있다.

click up, down 모션보다는 hover 효과를 내보기로한다.

img



mouse position을 detecting 해서 label 배경색을 바꾸고자 했으나, 아이콘이 png가 아닌 관계로 뭔가 지저분해진다.

→ 이미지를 default 와 hover 쌍으로 만든다.
→ 색을 다시 변경하려면 싹다 다시 뽑아야하니, 신중하게 골라야 한다.
→ 두 개 이미지를 겹쳐둔다.
→ 위에 hover를 visible False로 두고, 아래 default를 깐다.
→ 페이지 전체 백그라운드에 label 하나를 깔고, tranparent로 투명하게 만들어준다.
→ default에 mousemove 프로시저로, 오버시 hover의 visible을 True로 바꿔준다.
→ 마지막으로 투명 label에 mousemove 프로시저를 통해 hover의 visible을 다시 False로 바꿔준다.



conclusion

나름 만족하는 결과이지만 위에 적은 것처럼 색을 바꾸려면 30개가 넘는 이미지를 전부 바꿔줘야한다는 점은 다소 아쉽다.
PNG 이미지를 사용할수 있다면 너무 간단한 일인데, 뭐하는 건가 싶다.

끝.