2
我已經做了一個小的EXE透明窗體,它有一個TImage。爲了使我的形式透明,我用這個代碼:如何在delphi中使TImage透明?
Function TForm1.CombineRegions (FrmX , FrmY :Integer;CtrlComp : TControl;Var RegHandle : THandle) : Boolean;
Var
CtrlHandle : THandle;
CtrlLeft,
CtrlTop,
CtrlWidth,
CtrlHt : Integer;
begin
Result := False;
CtrlHandle := 0;
FrmX := 0;
FrmY := 0;
Try
CtrlLeft := CtrlComp.Left;
CtrlTop := CtrlComp.Top;
CtrlWidth := CtrlComp.Width;
CtrlHt := CtrlComp.Height;
Except
Exit;
End;
Try
FrmX:=0;
FrmY:=0;
FrmX := FrmX + CtrlLeft;
FrmY := FrmY + CtrlTop;
CtrlHandle := CreateRectRgn(FrmX, FrmY, FrmX + CtrlWidth, FrmY + CtrlHt) ;
CombineRgn(RegHandle, RegHandle, CtrlHandle, RGN_OR) ;
Except
End;
End;
它做什麼首先使所有形式的消失,然後按照我想的表單控件,我會打電話給上面的函數,只有該地區將被畫下來 。現在我的TImage有一個背景顏色的圖像。
正如你所看到的,圖像有一些背景。我希望我的TImage能夠被繪製出來,以便只繪製裏面的位圖,而不是整個區域。可以做到嗎? 在此先感謝。
所以你想要一個透明的窗體,只有圖片可見,對不對? – TLama 2012-08-03 13:04:42
啊是的,這或多或少是我想要的 – CyprUS 2012-08-03 13:06:40
當圖片只是從文件加載並顯示在透明表單上時,您是否需要一個'TImage'或對於您來說就足夠了? – TLama 2012-08-03 13:18:35