PDA

View Full Version : فعال یا غیر فعال کردن enabled یه mainmenu



Batman
شنبه 13 مرداد 1386, 09:58 صبح
با سلام
دوستان میخواستم بدونم چجوری میشه در زمان اجرا مثلا item سوم یه mainmenu رو enabledش رو false کرد
ممنونم

vcldeveloper
شنبه 13 مرداد 1386, 10:42 صبح
یک راهش اینه که Item مربوطه را پیدا کنید و خصوصیت Enabled آن را False کنید:

MainMenu1.Items.Find('&File').Enabled := False;راه دیگه اینه که در برنامه خودتون Action تعریف کنید و این Action را به Item های منو اختصاص بدید. Disable کردن یک Action سبب میشه که تمام کنترل های متصل به آن غیرفعال بشند.
درباره Action ها و مزیت استفاده از آنها قبلا در سایت توضیح داده شده.

ghabil
شنبه 13 مرداد 1386, 10:55 صبح
بجز این راه ، Itemهای MainMenu در دلفی Persistent میشوند ، برای همین میتونی مستقیم هم بهشون اکسس بکنی ، یعنی یک اسم خوب برای هر آیتم بزاری بعد مستقیم بری سراغش :


mi_MyTestItem.Enabled := False;

Batman
یک شنبه 14 مرداد 1386, 12:41 عصر
جناب ghbil مشکل حل شد
اما زمانیکه تعدادی از item ها رو false میکنم bidimide مربوط به menu از حالت راست چین تبدیل به حالت چپ چین میشه

mzjahromi
یک شنبه 14 مرداد 1386, 13:37 عصر
align فرم رو بذار bdrighttoleftnoalign

Batman
یک شنبه 14 مرداد 1386, 17:38 عصر
align فرم رو بذار bdrighttoleftnoalign
align فرم رو هم روی righgt گذاشتم بازم حل نشد

SYNDROME
یک شنبه 14 مرداد 1386, 19:57 عصر
با سلام

align فرم رو هم روی righgt گذاشتم بازم حل نشد
آیا ParentBidiModeمربوط به MainMenu برابر Trueاست؟
موفق باشی

Vahid.Shatery
یک شنبه 14 مرداد 1386, 20:59 عصر
سلام دوستان
فکر میکنم راحت ترین راه دستور زیر باشه.
البته با توجه به اینکه عدد اول شماره منو اصلی و عدد دوم در دستور زیر شماره زیر منوی منو اصلی را مشخص می کنه .
frmMain.MainMenu1.Items[1].Items[2].Enabled := false ;

Batman
یک شنبه 14 مرداد 1386, 21:49 عصر
parentbidimode هم true هستش

mzjahromi
دوشنبه 15 مرداد 1386, 06:55 صبح
align فرم رو هم روی righgt گذاشتم بازم حل نشد

ببخشید
Align نه
BiDiMode

Batman
دوشنبه 15 مرداد 1386, 08:37 صبح
جناب جهرمی عزیز
bidimode هم true هستش

mzjahromi
دوشنبه 15 مرداد 1386, 08:54 صبح
دوست عزیز BiDiMode که بولین نیست.

Batman
دوشنبه 15 مرداد 1386, 08:58 صبح
با سلام
جناب جهرمی درسته منظور من rightetoleft بود
ببینید من یه برنامه نوشتم که چند تا کاربر با یه سیستم کار میکنند (در زمانهای مختلف) و هر کاربر که وارد میشه طبق محدودیتهایی که مدیر براش گذاشته یه سری از منوها براش غیر فعال میشه و حالا همون مشکلی که گفتم پیش میاد
بسیار متشکرم

mzjahromi
دوشنبه 15 مرداد 1386, 09:55 صبح
من دقیقا همین کار رو کردم و همین مشکل رو داشتم
Direction ها به این صورت تنظیم شدند
BidiMode خود فرم BDRightToLeft هست
BiDiMode کامپوننت منو هم bdRightToLeft هست
در هر حال با این دو تا بازی کنی مشکلت حل میشه

Batman
دوشنبه 15 مرداد 1386, 12:59 عصر
دقیقا تمام چیزهایی که گفتید righttoleft هستش ظاهرا چاره ای نیست یه کاریش میکنم
بهر حال از توجهتون متشکرم