PDA

View Full Version : مخفی کردن فرم در گوشه های دسکتاپ



birtemp
جمعه 06 مرداد 1391, 15:10 عصر
سلام و آرزوی قبولی طاعات و عبادات.
من می خواستم پنجره پروژه خودم رو تو یکی از گوشه ها یا سمت های صفحه مانیتورم مخفی کنم (مثل سایدباری که تو ویندوز ویستا وجود داشت و با رفتن ماوس به سمت راست صفحه اون سایدبار نشون داده می شد). می خوام وقتی نشانگر ماوس به سمت راست مانیتور رفت پنجره پروژه نشون داده بشه و وقتی نشانگر از اونجا دور شد بازم پنجره مخفی بشه.
یه چیزی تو مایه های mouse hover بعضی کنترل ها. در ضمن این ویژگی تو ویندوز جدید مایکروسافت ویندوز 8 مترو هم وجو داره و با رفتن به گوشه های مانیتور پنجره یک برنامه نشون داده میشه.

ممنون میشم بگین که چطوری می تونم این ویژگی رو به پنجره پروژه ام اضافه کنم ؟

the king
جمعه 06 مرداد 1391, 16:57 عصر
سلام و آرزوی قبولی طاعات و عبادات.
من می خواستم پنجره پروژه خودم رو تو یکی از گوشه ها یا سمت های صفحه مانیتورم مخفی کنم (مثل سایدباری که تو ویندوز ویستا وجود داشت و با رفتن ماوس به سمت راست صفحه اون سایدبار نشون داده می شد). می خوام وقتی نشانگر ماوس به سمت راست مانیتور رفت پنجره پروژه نشون داده بشه و وقتی نشانگر از اونجا دور شد بازم پنجره مخفی بشه.
یه چیزی تو مایه های mouse hover بعضی کنترل ها. در ضمن این ویژگی تو ویندوز جدید مایکروسافت ویندوز 8 مترو هم وجو داره و با رفتن به گوشه های مانیتور پنجره یک برنامه نشون داده میشه.

ممنون میشم بگین که چطوری می تونم این ویژگی رو به پنجره پروژه ام اضافه کنم ؟

بنگر اندر این حکایت که چنین شد پیوست :
90306

kkkaka
جمعه 06 مرداد 1391, 18:21 عصر
the king (http://barnamenevis.org/member.php?259237-the-king)
عزیز بسیار عالی بود ولی ای کاش یکم در مورد کد های نوشته شده توضیح میدادی. (http://barnamenevis.org/member.php?259237-the-king)
مرسی

birtemp
جمعه 06 مرداد 1391, 19:05 عصر
خیلی خیلی عالی بود.
ممنون

the king
جمعه 06 مرداد 1391, 19:14 عصر
the king (http://barnamenevis.org/member.php?259237-the-king)
عزیز بسیار عالی بود ولی ای کاش یکم در مورد کد های نوشته شده توضیح میدادی. (http://barnamenevis.org/member.php?259237-the-king)
مرسی

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

Screen.PrimaryScreen.WorkingArea کادری است که همه فرم های روی Desktop داخلش قرار می گیرند. ما باید فرم مون رو در
سمت راست این کادر بیرون اش نگه داریم و وقتی ماوس در سمت راست این کادر بود فرم رو به اندازه طول خود فرم به سمت چپ جابجا کنیم.

MousePosition موقعیت فعلی ماوس روی صفحه مانیتوره و توسط اون می توانیم هر لحظه چک کنیم که فرم ما الان باید دیده بشه یا نه.

از اونجایی که مخفی و آشکار کردن سریع فرم ظاهر قشنگی نداره و می خواهیم به نرمی جابجایش کنیم، یهو فرم را نمی بریم به مقصد.
بلکه توسط متغیر diff فاصله اش رو از مقصد روی محور X ها حساب می کنیم و ازش توان 0.7 می گیریم تا اگر فاصله زیاد باشه از diff قدری کم بشه.
اینطوری اول کار فرم سریع حرکت می کنه و هر چی به مقصد نزدیکتر میشه کند تر جابجا میشه. بعد ما فرم رو به اندازه diff جابجا می کنیم.
ShowWindow فرم رو ظاهر می کنه البته یه ریزه، نه یهویی. مدام باید اجرایش کنید تا فرم کاملا آشکار بشه.
HideWindow هم فرم رو اندکی مخفی می کنه، مدام باید اجرایش کنید تا فرم کاملا مخفی بشه.

merfi1
چهارشنبه 16 اسفند 1391, 02:06 صبح
یک تایمر داریم که مدام چک می کنه که موقعیت فرم الان کجا است. تمام پردازش مخفی و آشکار شدن فرم رو در این تایمر پیگیری می کنیم.

Screen.PrimaryScreen.WorkingArea کادری است که همه فرم های روی Desktop داخلش قرار می گیرند. ما باید فرم مون رو در
سمت راست این کادر بیرون اش نگه داریم و وقتی ماوس در سمت راست این کادر بود فرم رو به اندازه طول خود فرم به سمت چپ جابجا کنیم.

MousePosition موقعیت فعلی ماوس روی صفحه مانیتوره و توسط اون می توانیم هر لحظه چک کنیم که فرم ما الان باید دیده بشه یا نه.

از اونجایی که مخفی و آشکار کردن سریع فرم ظاهر قشنگی نداره و می خواهیم به نرمی جابجایش کنیم، یهو فرم را نمی بریم به مقصد.
بلکه توسط متغیر diff فاصله اش رو از مقصد روی محور X ها حساب می کنیم و ازش توان 0.7 می گیریم تا اگر فاصله زیاد باشه از diff قدری کم بشه.
اینطوری اول کار فرم سریع حرکت می کنه و هر چی به مقصد نزدیکتر میشه کند تر جابجا میشه. بعد ما فرم رو به اندازه diff جابجا می کنیم.
ShowWindow فرم رو ظاهر می کنه البته یه ریزه، نه یهویی. مدام باید اجرایش کنید تا فرم کاملا آشکار بشه.
HideWindow هم فرم رو اندکی مخفی می کنه، مدام باید اجرایش کنید تا فرم کاملا مخفی بشه.

اساتید این رو امتحان کنید وقتی فرم به حالت مینی مایز میره ودباره ماکسی مایز میشه حالتش بهم میریزه مشکل از کجاست؟:متفکر:

merfi1
چهارشنبه 16 اسفند 1391, 11:10 صبح
لطفا بررسی کنید؟