View Full Version : استفاده از TProgressBar
__Genius__
جمعه 28 اسفند 1388, 01:00 صبح
درود بر دوستان ،
هر چند موافق نیستم با پرسیدن این سوال ها اما به دلیل اینکه خیلی وقت نیست از Visual C به Delphi مهاجرت کردم اجازه میخوام که سوالم رو مطرح کنم .
مطالب کوچکی رو در مورد این عنصر دیدم ، اما میخوام ببینم نحوه استفاده از این کنترل چطور هست و وقتی عملیات خاصی انجام میشه چطور میتونم بوسیله Progress Bar اونو کنترل کنم و به مقدارش اضافه بشه تا عملیات به صورت 100% انجام بشه .
مقاله ، مطلب و نکته ای که دقیقا ًروش کار با این کنترل رو مطرح کرده باشه میتونه موثر واقع بشه علاوه بر توضیحاتی که ممکنه بدین .
متشکرم .
vcldeveloper
جمعه 28 اسفند 1388, 02:08 صبح
مورد خاصی نداره، یکی از کنترل های استاندارد ویندوز هست، که در دلفی Wrap شده. یک مقدار Min و Max داره، و یک مقدار Position. شما با توجه به کارتان، حداقل و حداکثر را مشخص می کنید، و به تناسب کار انجام شده، به Position مقدار میدید تا پیشرفت کار به صورت گرافیکی نمایش داده بشه.
برای محاسبه پیشرفت شما می تونید هم از درصد استفاده کنید، هم از تعداد مراحلی که باید انجام بشه؛ مثلا شما اگر می خواید 1000 فایل را کپی کنید، می تونید یا مقدار Max را مساوی 1000 قرار بدید، و Position را بعد از کپی هر فایل یک واحد جلو ببرید؛ یا اینکه Max را 100 در نظر بگیرید، و به ازاء کپی هر 10 فایل، یک واحد به Position اضافه کنید.
در ویندوز XP امکان Marque هم به این کنترل اضافه شده، یعنی نمایش یک نوار پیشرفت که دائما حرکت می کند و متوقف نمی شود. این حالت برای کارهایی هست که شما نمی دونید چقدر زمان نیاز دارند، ولی میخواید به شکل گرافیکی کاربر را مطلع کنید که کاری در حال انجام هست.
در ویندوز 7 این کنترل قابلیت های بیشتری پیدا کرده، مثلا می تونید یک Progress bar رو به آیکن برنامه اختصاص بدید، تا میزان پیشرفت کار در داخل آیکن برنامه نمایش داده بشه، و در صورت بروز خطا یا توقف کار، رنگ نوار پیشرفت تغییر کنه. به عنوان مثال، در ویندوز 7، Explorer ویندوز برای کپی فایل از همین قابلیت جدید استفاده میکنه.
__Genius__
جمعه 28 اسفند 1388, 02:59 صبح
سلام ، بابت توضیحات ممنون .
ممنون میشم برای این مورد آخر که گفتید یعنی قرار دادن ProgressBar در آیکون برنامه مثالی بیارید به صورت عملی .
متشکرم.
vcldeveloper
جمعه 28 اسفند 1388, 19:01 عصر
ممنون میشم برای این مورد آخر که گفتید یعنی قرار دادن ProgressBar در آیکون برنامه مثالی بیارید به صورت عملی .
مجموعه کامپوننت زیر قابلیت های مختلف رابط کاربر ویندوز 7 را با استفاده از Windows API در دلفی 2010 پیاده سازی کرده. هنوز در مرحله بتا هست، سورس کد آن باز هست، می تونید سورس کدش را برای چگونگی استفاده از توابع API مربوطه مطالعه کنید، یا اینکه مستقیما از این کامپوننت ها، به جای پیاده سازی خودتان، استفاده کنید.
لینک دانلود:
http://www.gumpi.com/Blog/2009/10/02/Windows7ComponentsBeta.aspx
یک نمونه تصویر از این قابلیت:
http://www.gumpi.com/blog/content/binary/Delphi/Components/Win7/Win7_TB_Marquee_sm.png
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.