트랙바 컴포넌트를 좀 이쁘게 꾸미려고
비트맵 두개를 가로세로로 겹쳐 놓고 트랙바처럼 움직일 수 있게 하는 컴포넌트를 만들고 있습니다.
TCustomControl을 베이스로 놓고 만들고 있는데, 마지막에 문제가 생겼습니다.
컨트롤 자체를 투명하게 해야 하는데, 별별 방법을 다 시도해 봐도 안먹히는군요.
비트맵의 transparent 속성은 컨트롤에 그려질때만 적용되고 컨트롤의 캔버스는 transparent 속성이 없더군요.
그래서 뒤에 그려질 사각형 영역을 읽어 와서 캔버스에 찍어 놓고 그 위에 투명 처리한 비트맵을 얹을려고 했더니,
컨트롤의 캔버스가 이미 부모 폼을 먹어버리고 그려지는지라, 그 뒤에 원래 그려져야 할 영역을 얻을 수가 없더군요..
물론 삽질이겠지만서도 ^^; 해결책을 찾기가 너무 어렵군요..
방법을 아시는 분은 조언해 주시면 너무 고맙겠습니다.
참고로 실패한 코드를 올립니다.
TCanvas *pCanvas = ((TForm*)Parent)->Canvas;
Canvas->CopyRect(Rect(0, 0, Width, Height),
pCanvas,
Rect(Left, Top, Width + Left, Height + Top));
|