با سلام
دوستان میخواستم بدونم چجوری میشه در زمان اجرا مثلا item سوم یه mainmenu رو enabledش رو false کرد
ممنونم
با سلام
دوستان میخواستم بدونم چجوری میشه در زمان اجرا مثلا item سوم یه mainmenu رو enabledش رو false کرد
ممنونم
یک راهش اینه که Item مربوطه را پیدا کنید و خصوصیت Enabled آن را False کنید:
MainMenu1.Items.Find('&File').Enabled := False;راه دیگه اینه که در برنامه خودتون Action تعریف کنید و این Action را به Item های منو اختصاص بدید. Disable کردن یک Action سبب میشه که تمام کنترل های متصل به آن غیرفعال بشند.
درباره Action ها و مزیت استفاده از آنها قبلا در سایت توضیح داده شده.
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
بجز این راه ، Itemهای MainMenu در دلفی Persistent میشوند ، برای همین میتونی مستقیم هم بهشون اکسس بکنی ، یعنی یک اسم خوب برای هر آیتم بزاری بعد مستقیم بری سراغش :
mi_MyTestItem.Enabled := False;
جناب ghbil مشکل حل شد
اما زمانیکه تعدادی از item ها رو false میکنم bidimide مربوط به menu از حالت راست چین تبدیل به حالت چپ چین میشه
align فرم رو بذار bdrighttoleftnoalign
You never know what you can do until you try
سلام دوستان
فکر میکنم راحت ترین راه دستور زیر باشه.
البته با توجه به اینکه عدد اول شماره منو اصلی و عدد دوم در دستور زیر شماره زیر منوی منو اصلی را مشخص می کنه .
frmMain.MainMenu1.Items[1].Items[2].Enabled := false ;
جناب جهرمی عزیز
bidimode هم true هستش
دوست عزیز BiDiMode که بولین نیست.
You never know what you can do until you try
با سلام
جناب جهرمی درسته منظور من rightetoleft بود
ببینید من یه برنامه نوشتم که چند تا کاربر با یه سیستم کار میکنند (در زمانهای مختلف) و هر کاربر که وارد میشه طبق محدودیتهایی که مدیر براش گذاشته یه سری از منوها براش غیر فعال میشه و حالا همون مشکلی که گفتم پیش میاد
بسیار متشکرم
من دقیقا همین کار رو کردم و همین مشکل رو داشتم
Direction ها به این صورت تنظیم شدند
BidiMode خود فرم BDRightToLeft هست
BiDiMode کامپوننت منو هم bdRightToLeft هست
در هر حال با این دو تا بازی کنی مشکلت حل میشه
You never know what you can do until you try
دقیقا تمام چیزهایی که گفتید righttoleft هستش ظاهرا چاره ای نیست یه کاریش میکنم
بهر حال از توجهتون متشکرم