samprp
پنج شنبه 31 مرداد 1387, 06:04 صبح
با سلام به دوستان خوبم
همه می دونید تو دلفی های ماقبل 2006 و 2007 به راحتی با افزودن یک روال به قسمت پابلیک و پردازش مسیج های رسیده به آن می تونستیم فرم رو مینیمایز کنیم مثلا این کدش بود :
procedure TForm1.InTaskbar(_AppHandle:THandle;_Be:Boolean);
begin
ShowWindow(_AppHandle, SW_HIDE);
if _Be then
SetWindowLong(_AppHandle, GWL_EXSTYLE,WS_EX_WINDOWEDGE)
else
SetWindowLong(_AppHandle, GWL_EXSTYLE,WS_EX_APPWINDOW-WS_EX_TOOLWINDOW);
ShowWindow(_AppHandle, SW_SHOW);
end;
(کد از آقای احدی)
که با فراخونیش و دادن هندل فرممون می تونستیم دکمه رو روی Taskbar پنهان کنیم.
ولی تو دلفی 2007 برای یه جور سازگاری هایی با ویستا مجبور شدن یه سری تغییرات بدن که حتی باعث شده کمپوننت هایی که تو ورژن های اخیر تو این زمینه کاربرد داشتند هم غیر قابل استفاده بشن
تو این نسخه یه روال جدید به نام MainFormOnTaskBar به کلاس Application برنامه اضافه شده .
می رم سر اصل مطلب :
دستور زیر رو در بخش یونیت اصلی پروژتون اضافه کنید
دقت کنید قبل از create هر فرمی باشه
Application.MainFormOnTaskBar:=False;
حالا باید در رویداد OnShow فرم مورد نظرتون دستور زیر رو استفاده کنین :
(ShowWindow(Application.Handle, SW_HIDE
با اجرای برنامتون می بینید که دیگه دکمه ای روی نوار وظیفه در کار نیست .
البته هر جای برنامه اگر خواستید می تونید با دادن این دستور (یا همون دستور قبلی)دوباره نمایش دکمه رو فعال (یا غیر فعال) کنید :
Application.MainFormOnTaskBar:=True;
سوالی بود در خدمتم.
همه می دونید تو دلفی های ماقبل 2006 و 2007 به راحتی با افزودن یک روال به قسمت پابلیک و پردازش مسیج های رسیده به آن می تونستیم فرم رو مینیمایز کنیم مثلا این کدش بود :
procedure TForm1.InTaskbar(_AppHandle:THandle;_Be:Boolean);
begin
ShowWindow(_AppHandle, SW_HIDE);
if _Be then
SetWindowLong(_AppHandle, GWL_EXSTYLE,WS_EX_WINDOWEDGE)
else
SetWindowLong(_AppHandle, GWL_EXSTYLE,WS_EX_APPWINDOW-WS_EX_TOOLWINDOW);
ShowWindow(_AppHandle, SW_SHOW);
end;
(کد از آقای احدی)
که با فراخونیش و دادن هندل فرممون می تونستیم دکمه رو روی Taskbar پنهان کنیم.
ولی تو دلفی 2007 برای یه جور سازگاری هایی با ویستا مجبور شدن یه سری تغییرات بدن که حتی باعث شده کمپوننت هایی که تو ورژن های اخیر تو این زمینه کاربرد داشتند هم غیر قابل استفاده بشن
تو این نسخه یه روال جدید به نام MainFormOnTaskBar به کلاس Application برنامه اضافه شده .
می رم سر اصل مطلب :
دستور زیر رو در بخش یونیت اصلی پروژتون اضافه کنید
دقت کنید قبل از create هر فرمی باشه
Application.MainFormOnTaskBar:=False;
حالا باید در رویداد OnShow فرم مورد نظرتون دستور زیر رو استفاده کنین :
(ShowWindow(Application.Handle, SW_HIDE
با اجرای برنامتون می بینید که دیگه دکمه ای روی نوار وظیفه در کار نیست .
البته هر جای برنامه اگر خواستید می تونید با دادن این دستور (یا همون دستور قبلی)دوباره نمایش دکمه رو فعال (یا غیر فعال) کنید :
Application.MainFormOnTaskBar:=True;
سوالی بود در خدمتم.