Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11179] 투명 판넬위 라벨 투명에 대해서
kkm [] 3428 읽음    2006-12-19 17:36
여기 Q/A에서 판넬 투명하게 하는 아래와 같은 소스를 가져다 섰습니다.

procedure TfmMain.ClearPanel(var panel : TPanel );
var  I : Integer;
     FullRgn, ClientRgn, ControlRgn : THandle;
     Margin, MarginX, MarginY, X, Y : Integer;

begin

     Margin := (panel.Width - panel.ClientWidth) div 2;
     FullRgn := CreateRectRgn(0, 0, panel.Width, panel.Height);
     MarginX := Margin;
     MarginY := panel.Height - panel.ClientHeight - Margin;
     ClientRgn := CreateRectRgn(MarginX, MarginY, MarginX + panel.ClientWidth,
                                                  MarginY + panel.ClientHeight);
     CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);

     for I:=0 to panel.ControlCount-1 do begin

         X := MarginX + panel.Controls[I].Left;
         Y := MarginY + panel.Controls[I].Top;
         ControlRgn := CreateRectRgn(X, Y, X + panel.Controls[I].Width,
                                           Y + panel.Controls[I].Height);
         CombineRgn(FullRgn, FullRgn, ControlRgn, RGN_OR);

     end;
     SetWindowRgn(panel.Handle, FullRgn, True);

end;

이렇게 하니 동영상및 그림 파일이 투명하게 잘 보이더군요...
그래서 생각남김에 임의 적으로 글씨를 넣어서 자막을 만들면 어떻까 생각해
라벨에 투명도 옵션을 주고 컴파일을 다시 걸었습니다.
생각 한거와 틀리게 투명은 판넬 자체만 적용 되더군요...ㅠㅠ
라벨에의 투명은 판넬에 대한 것입니다.
다시 정확히 설명 하자면 판넬의 색이 btnface이면
판넬자체로는 전체 동영상이 잘 투영되어 보입니다.
하지만 라벨에는 btnface색이 배경인 글자가 보입니다.
핸들 문제인거 같은데 정확한 해법을 모르겠습니다.
고수님의 조언 부탁 드립니다.

+ -

관련 글 리스트
11179 투명 판넬위 라벨 투명에 대해서 kkm 3428 2006/12/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.