سلام دوستان
چطور میتوان نوار Statosbar را در فرم به صورتی کد نویسی کنیم که هر عملی در حال انجام را نشان دهد.(کاری که در Windows انجام میشود)
سلام دوستان
چطور میتوان نوار Statosbar را در فرم به صورتی کد نویسی کنیم که هر عملی در حال انجام را نشان دهد.(کاری که در Windows انجام میشود)
بستگی داره که چطور StatusBar ایی بخوای استفاده کنی؛ در یک StatusBar ساده می تونی از خصوصیت SimpleText برای نمایش متن استفاده کنی. در یک StatusBar که دارای Panel هست، می تونی متن هر Panel رو از طریق خصوصیت Text اون تنظیم کنی:
StatusBar1.Panel[0].Text := 'Testing';
اگه قصد داری در داخل StatusBar چیزی رسم کنی، می تونی از رویداد OnDrawPanel و شی Canvas مربوط به StatusBar و انتخاب OwnerDraw برای خصوصیت Style هر Panel استفاده کنی.
اگر مواردی که بخواهیم در نوار منعکس شود زیاد باشه باید جداگانه در رویداد همه آنها یک خط برای انعکاس آن در statusbar بنویسیم؟
برای هر کنترل مثل دگمه در رویداد OnMouseMove باید بنویسید :
StatusBar1.Panel[0].Text := 'متن دلخواه شما';
و این کار رو برای تمام کنترلهایی که می خواهید با حرکت موس روی انها جمله مورد نظر نمایش داده شود تکرار کنید
اگه منظورت هینت هسته از رویداد OnApplicationHint استفاده کن ...
یا حق !!!
آقا بابک سوال من در مورد کد نبود.
منظورم اینه اگر مثلا 30 گزینه منو را بخواهم در هنگام حرکت موس روی آنها در نوار پایین منعکس کنم باید 30 بار کد را در هر رویداد بنویسم؟
Hint هر یک از گزینه های منو را می نویسی و خاصیت AutoHint از StatusBar را True میکنی. خودش بصورت اتوماتیک Hint ها را در StatusBar نمایش میده.منظورم اینه اگر مثلا 30 گزینه منو را بخواهم در هنگام حرکت موس روی آنها در نوار پایین منعکس کنم باید 30 بار کد را در هر رویداد بنویسم؟
با سلام و تشکر از نکات مفیدی که مطرح شد
فقط من یک سوالی داشتم جناب vcldeveloper و اون هم اینه که ما چطور می تونیم رویداد OnDrawPanel رو خودمون تو سورس صدا بزنیم؟
منظورم اینه که فرض کنین توش از یکسری پارامترها استفاده کردیم که در حین کار تغییر می کنن و کد داخل OnDrawPanel باید یکبار دیگه اجرا بشه.
با سپاس