PDA

View Full Version : آیکن tray و منو



A_Salimi
یک شنبه 19 اسفند 1386, 23:28 عصر
من با اجرا برنامه در قسمت system try یک آیکن ایجاد میکنم و همچنین با کلیک راست روی اون منویی ظاهر میشه حالا دو تا مشکل دارم :

1) با خروج از برنامه آیکن try از بین نمیره و فقط با حرکت نشانگر موس از روی آیکن از بین میره (با اینکه متد ondestroy فراخوانی شده )

2) زمانی که منو ایجاد میشه فقط با کلیک روی یکی از آیتم ها منو ناپدید میشه در غیر اینصورت با کلیک در قسمت های دیگه مثل دسکتاپ منو ناپدید نمیشه

این کار رو باویژوال و با mfc کار می کنم
چون کد ها نسبتا طولانی بودند از آوردن اونا خودداری کردم اگه راهی هست لطفا راهنمایی کنید در غیر این صورت بگید تا کد رو بیارم
با تشکر

Nima_NF
دوشنبه 20 اسفند 1386, 14:14 عصر
برای مورد اول احتمالا شما کد زیر را در رویداد OnDestroy فراخوانی نکردید:



void YourDlg::OnDestroy()
{
Shell_NotifyIcon(NIM_DELETE,&Data);
}



برای مورد دوم هم کد زیر را قبل از TrackPopupMenu فراخوانی کنید:



SetForegroundWindow(hwin);

یا در MFC به شکل زیر
pWnd->SetForegroundWindow();

A_Salimi
دوشنبه 20 اسفند 1386, 16:42 عصر
با تشکر از شما

هر دو مشکل برطرف شدند

فقط در مورد مشکل دوم قبل از TrackPopupMenu نوشتم

SetForegroundWindow();