블로그 이미지
자료에 문제가 있을 경우, 확인하는대로 삭제처리 하겠습니다. 즐거운 하루 되시길...
04-27 15:08
Total
Today
Yesterday

카테고리

분류 전체보기 (199)
이야기방 (20)
공부방 (173)
개발노트&관련잡다구니 (6)

'투명패널'에 해당되는 글 1건

  1. 2023.11.07 [델파이] 투명 Panel 만들기
  procedure TransparentPanel(var Target : TPanel);
  var
    I : Integer;
    FullRgn, ClientRgn, ControlRgn : THandle;
    Margin, MarginX, MarginY, X, Y : Integer;
  begin
    Margin  := (Target.Width - Target.ClientWidth) div 2;
    FullRgn := CreateRectRgn(0, 0, Target.Width, Target.Height);
    MarginX := Margin;
    MarginY := Target.Height - Target.ClientHeight - Margin;
    ClientRgn :=
      CreateRectRgn(
        MarginX
        , MarginY
        , MarginX + Target.ClientWidth
        , MarginY + Target.ClientHeight
      );

    CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);

    for I:=0 to Target.ControlCount-1 do begin
      X := MarginX + Target.Controls[I].Left;
      Y := MarginY + Target.Controls[I].Top;
      ControlRgn :=
        CreateRectRgn(
          X
          , Y
          , X + Target.Controls[I].Width
          , Y + Target.Controls[I].Height
        );
      CombineRgn(FullRgn, FullRgn, ControlRgn, RGN_OR);
    end;

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

 

원본 : 어느 고수님.. 

Posted by 래채
, |