PDA

View Full Version : سوال: ساخت فرم شفاف ؟؟؟؟؟



nilidelphi
دوشنبه 15 آذر 1389, 09:06 صبح
سلام

شاید روی سوال تکراری باشه ولی یکم فرق میکنه ولی شرمنده نتونستم عنوان دیگه ای پیدا کنم

چطور میشه یه فرم رو شفاف کرد ولی کامپوننت ها و ابزار های داخل اون فرم شفاف نشن؟

وقتی من یه فرم رو شفاف می کنم تمامی ابزار داخل اون فرم هم شفاف میشن که من ایطوری نمی خوام.

البته اینم بگم که پیشنهاد استفاده از عکس در پسزمینه فرم رو ندین که مشکلات خودشو داره.:قلب:

hossein_h62
دوشنبه 15 آذر 1389, 09:20 صبح
سلام
از کد زیر ایده بگیرید :


procedure TForm1.FormCreate(Sender: TObject);
var
FullRgn, ClientRgn, ButtonRgn: THandle;
Margin, X, Y: Integer;
begin
Margin := (Width - ClientWidth) div 2;
FullRgn := CreateRectRgn(0, 0, Width, Height) ;
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CreateRectRgn
(X, Y, X + ClientWidth, Y + ClientHeight) ;
CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF) ;
X := X + Button1.Left;
Y := Y + Button1.Top;
ButtonRgn := CreateRectRgn
(X, Y, X + Button1.Width, Y + Button1.Height) ;
CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR) ;
SetWindowRgn(Handle, FullRgn, True) ;
end;