이미지만 띄우고 창 투명화 하기

2011. 11. 29. 13:36언어/C++ Builder

제목을 선정하기가 힘들군..

이미지만 남겨두고 나머지 창은 투명으로 처리하는 방법에 대해 알아보겠습니다.

준비물 : C++ Builder6, 배경이 투명처리된 gif 그림 파일

먼저 TImage컴포넌트를 하나 올리고 띄울 gif 이미지 파일을 Load 시킨다.



Mainform의 Event에서 OnCreate를 생성하고 아래 소스를 넣어준다.

void __fastcall TFFinger::FormCreate(TObject *Sender)
{
        Brush->Style = bsClear;        
}
 
다음으로 Border Style을 None으로 변경 후 TransparentColor를 true로 TransparentColorValue를 clNone으로 변경한다.



컴파일 한다..

결과는 아래와 같다.



끝~~!! 


※ 추가로 저 그림을 드래그 하고 싶다면
cpp파일에 아래와 같은 소스를 넣고
void __fastcall TDayDefault::WMNCHitTest(TWMNCHitTest &Message)
{
        TForm::Dispatch(&Message);
        if(Message.Result == HTCLIENT)
                Message.Result = HTCAPTION;
}
 
헤더 파일에는
private: // User declarations

        virtual void __fastcall WMNCHitTest(TWMNCHitTest &Message);  // 캡션 없는 폼의 이동

        BEGIN_MESSAGE_MAP
                MESSAGE_HANDLER(WM_NCHITTEST, TWMNCHitTest, WMNCHitTest)
        END_MESSAGE_MAP(TForm) 

다음과 같이 넣어주면 그림을 클릭하여 드래그 이동 시킬 수 있다.