farhad-g1 خیلی خیلی ممنون
بالاخره درس شد.
خیلی لطف کردی
البته اینایی که گفتی به علاوه کدی کهnoneforce گفتن
کد:border style:=bsnone
Printable View
farhad-g1 خیلی خیلی ممنون
بالاخره درس شد.
خیلی لطف کردی
البته اینایی که گفتی به علاوه کدی کهnoneforce گفتن
کد:border style:=bsnone
درسته منظورم همینهنقل قول:
اگه شمام کد دیگه دارین ممنون می شم بدین
پروژه من چندتا فرم داره ، حالا که فرم اول رو محو کردم نمی دونم چرا فرم دو رو پشت اون باز کرده
سلام
خاصیت Visible فرم های دیگه رو False کن.
یک کمپننت برای اینکار داشتم. میگردم پیدا کردم میزارم...
موفق باشی
وقتی این کار رو می کنم ، یک پیغام خطا می ده از فرم 2نقل قول:
و برنامه اجرا نمیشه
این مشکلی که شما میگی ندیدم تا حالا، تست هم کردم ولی اینجوری نشد.نقل قول:
form.showmodal رو امتحان کن.
درس می گی من جای دیگه امتحان کردم هیچ مشکلی نداشت، مشکل از برنامه خودمهنقل قول:
آخه سنگین شده و شلوغ (یکم)
باید بگردم ببینم مشکل از کجاشه!!!!!!!
خیلی ممنون از شما
مشکل حل شد ، نمی دونم چه ربطی داره ولی دستوراتی روکه تو on creat بود رو بردم تو on show بعد درس شد
از همه ممنون
این کد را امتحان کن
Form1.BorderStyle:=bsNone;
Form1.Color:=clBlack;
Form1.TransparentColorValue:=clBlack;
Form1.TransparentColor:=True;
کد بالا به هر چی که رنگش سیاه (clBlack) باشه گیر میده و نشونش نمیده.
با استفاده از تابع زیر که قبلا هم جناب تکنیک برتر زحمت اونو کشیدن می توان فقط فرم رو مخفی کرد:
مثلا اگر توی فرم منوی اصلی باشه و نخواهی که عنوان فرم نشون داده بشه تابع فوق رو اینجوری فراخونی کن:کد:procedure TranparentForm(Form:Tform; HaveCaption, HaveMenu:Boolean);
var
frmRegion,
tempRegion:HRGN;
i:Integer;
Arect:Trect;
begin
frmRegion:=0;
For i:=0 to Form.controlcount -1 do
begin
Arect:=Form.controls[i].BoundsRect;
Offsetrect(Arect,Form.ClientOrigin.x-Form.left,Form.ClientOrigin.y-Form.top);
tempRegion:=CreateRectRgnIndirect(Arect);
if frmRegion=0 then
begin
frmRegion:=tempRegion;
end
else
Begin
CombineRgn(frmRegion,frmRegion,TempRegion,RGN_OR);
DeleteObject(tempRegion);
end;
end;
tempRegion:=0;
If HaveCaption and HaveMenu then
tempRegion:= CreateRectRgn(0,0,Form.Width,
GetSystemMetrics(SM_CYCAPTION)+
GetSystemMetrics(SM_CYSIZEFRAME)+
GetSystemMetrics(SM_CYMENU));
If (HaveCaption=false) and HaveMenu then
tempRegion:= CreateRectRgn(0,GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYSIZEFRAmE),Form.Width,
(GetSystemMetrics(SM_CYSIZEFRAmE)+GetSystemMetrics(SM_CYMENU))+GetSystemMetrics(SM_CYCAPTION));
If HaveCaption and (HaveMenu=false) then
tempRegion:= CreateRectRgn(0,0,Form.Width,
GetSystemMetrics(SM_CYCAPTION)+
GetSystemMetrics(SM_CYSIZEFRAmE));
If (HaveCaption=false) and (HaveMenu=false) then
tempRegion:= CreateRectRgn(0,0,Form.Width,0);
CombineRgn(frmregion,frmregion,tempregion,rgn_or);
Deleteobject(tempregion);
setwindowrgn(Form.handle,frmregion,true);
end;
کد:procedure TForm1.FormCreate(Sender: TObject);
begin
TranparentForm(Form1, False, True);
end;