ورود

View Full Version : PopupMenu براي كنترل ها و فرم



JalaliMehr
پنج شنبه 24 تیر 1389, 13:51 عصر
من به فرض تو قسمت resource ها يه popup enu به نام IDR_MENU2 دارم حالا اينو بخام به كنترل ها يا فرم متصل كنم راهش چيه.

JalaliMehr
جمعه 25 تیر 1389, 07:53 صبح
لطف مي كنيد اگه جواب منو بديد.

Nima_NF
جمعه 25 تیر 1389, 14:28 عصر
اگر dialog هست، dialog را انتخاب کنید و در properties قسمت Menu شناسه یا همان ID Menu مورد نظر را انتخاب کنید.
بعد از کامپایل و اجرا به آن متصل می شود.

اگر برای یک window هست باید توسط کد نویسی هنگام متد اجرا اولیه، ID را وارد کنید.

JalaliMehr
شنبه 26 تیر 1389, 11:26 صبح
سلام آقا نيما

اگر dialog هست، dialog را انتخاب کنید و در properties قسمت Menu شناسه یا همان ID Menu مورد نظر را انتخاب کنید.
من اينكار كردم براي MainMenu فرم.

من ميخام به طور مثال براي فرم يا كنترل ديگري بر روي فرم popup menu در نظر بگيرم اين popup menu رو در resource تعريف كردم.
راستي C++ چيز خاصي نداره ولي Visual C++ يه چيز ديگس.

Nima_NF
شنبه 26 تیر 1389, 14:06 عصر
اگر منظورتان این هست که وقتی روی کنترلی راست کلیک می کنید، سپس منو نمایش داده شود به شکل زیر:




CMenu menu; // define in class


void CMyView::OnRButtonDown(UINT nFlags, CPoint point)
{
menu.LoadMenu(IDR_MYMENU);

CMenu* popup = menu.GetSubMenu(0);
CMenu* file_menu = popup->GetSubMenu(0);
ASSERT(file_menu);

file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON,
point.x, point.y, this);
}


اگر بر روی کنترل هست، یک متغیر از نوع Control از جنس کلاس همان کنترل بسازید، سپس OnRButtonDown را برای آن پساده سازی کنید.

مصطفی ساتکی
دوشنبه 25 مرداد 1389, 09:37 صبح
در OnContextMenu پارامتر pWnd رو با متغيري كه از نوع كنترلتون مقايسه كنيد در صورت True بودن Popup رو نشون بديد