PDA

View Full Version : سوال: مخفی کردن فرم از taskbar



joooje
جمعه 14 بهمن 1390, 23:21 عصر
سلام به همه دوستان
من با دستور Create یک فرم ایجاد میکنم
بعد از اون میخوام دوتا دکمه تو برنامم داشته باشم که با زدن اولی فرم ساخته شده از taskbar مخفی و با زدن دومی فرمم مجددا در taskbar نشان داده بشه

من حتی یه رویداد myformshow هم ساختم و onshow فرم ساخته شده رو به اون نسبت دادم
و توی اون از کد زیر استفاده کردم:

ShowWindow(myform.Handle, SW_HIDE);
ولی جواب نمیده
ولی وقتی همین کد بالا رو به یک دکمه میدم کل فرم رو، هم خود فرم و هم از توی taskbar مخفی میکنه
حالا چیکار کنم؟
ممنون میشم راهنمایی کنید
با تشکر

Mask
شنبه 15 بهمن 1390, 10:46 صبح
سلام.
دوست عزیز :آیکن برنامه ای که در تسکبار میبینید مربوطه به مین فرمتونه.
اگه میخواهید آیکن برنامتون کلا دیده نشه باید این دستورات رو مثل همون دکمه ای که نوشتی انجام بدید.

BORHAN TEC
شنبه 15 بهمن 1390, 11:48 صبح
دوست عزیز :آیکن برنامه ای که در تسکبار میبینید مربوطه به مین فرمتونه.
همیشه هم اینطور نیست. اگر Application.MainFormOnTaskbar رو به False ست کنید آیکن مربوط به Application در تسکبار ظاهر خواهد شد. توجه داشته باشید تمامی فرمهای یک برنامه نیز، همگی می توانند در Taskbar نشان داده شوند که اگر اشتباه نکنم انجام این کار با استفاده از تابع SetWindowLong امکان پذیر بود؟! :متفکر:

joooje
شنبه 15 بهمن 1390, 19:06 عصر
سلام

دوست عزیز :آیکن برنامه ای که در تسکبار میبینید مربوطه به مین فرمتونه.
ممنون
نه دوست من ، من با آیکون اصلی برنامه مشکل ندارم، میخواستم بتونم آیکون دیگر فرمها رو هم به دلخواه مخفی یا نمایان کنم

همیشه هم اینطور نیست. اگر Application.MainFormOnTaskbar رو به False ست کنید آیکن مربوط به Application در تسکبار ظاهر خواهد شد. توجه داشته باشید تمامی فرمهای یک برنامه نیز، همگی می توانند در Taskbar نشان داده شوند که اگر اشتباه نکنم انجام این کار با استفاده از تابع SetWindowLong امکان پذیر بود؟!
ممنون
من با توجه به راهنماییتون کدش رو پیدا کردم:
اینجا گذاشتم تا دیگر دوستان هم اگر تو جستجو این لینک رو پیدا کردند بتونن ازش استفاده کنن

procedure TMainForm.FormCreate(Sender: TObject) ; begin ShowWindow(Application.Handle, SW_HIDE) ; SetWindowLong(Application.Handle, GWL_EXSTYLE, getWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW) ; ShowWindow(Application.Handle, SW_SHOW) ; end;
فقط من با این کد یه مشکل دارم و اون اینکه بعد از مخفی کردم آیکون استایل پنجره به Toolwindows تبدیل میشه؟
آیا راهی هست که از این مورد جلوگیری کنیم؟ تو خود کد آیا میشه اون WS_EX_TOOLWINDOW رو تغییر داد؟
منتظر راهنماییهاتون هستم
ممنون