|
실수로 Tip란에 올려 버렸네요... ^^*
폼의 Canvas에 이미지를 하나 올리고 이미지의 출력 부분에
TCustomControl 에서 상속받아 아래와 같이 투명 처리를하여 올리고
void __fastcall TMyControl::CreateParams(TCreateParams &Prms)
{
inherited::CreateParams(Prms);
Prms.ExStyle += WS_EX_TRANSPARENT;
ControlStyle = ControlStyle >> csOpaque << csAcceptsControls;
}
TLabel 을 Transparent 속성을 true로 놓고 이미 만들어 놓은 컨트롤과 같은 크기로 바로 옆에 두었습니다.
그리고 폼의 크기를 빠른속도로 조절하니 TLabel 의 경우 깔끔하게 투명 처리가 되는 반면
위의 코드로 투명처리를 한 컨트롤의 배경이 폼의 배경 색(Canvas의 이미지가 아닌)으로
나오는 부분이 자주 발생을 하더군요.
TLable 의 경우 아무런 설정없이 Caption 만 중앙에 출력하도록 하였고..
TCustomControl 에서 상속 받은 넘도 GDI+를 이용해서 중앙에 Text 하나만을 출력하도록 되어있습니다.
TLabel 의 Transparent 속성과 위와 같이 투명화 처리를 하는것과는 어떤 차이가 있나요?
그리고 TLabel 의 Transparent 속성과 같이 구현을 하려면 어떻게 해야 하나요?
|