PDA

View Full Version : اختصاص Popup Menu به آیکن برنامه در System Tray



h_mohamadi
شنبه 06 بهمن 1386, 07:02 صبح
سلام
من سورس برنامه ای را گذاشته ام که می توانید با آن آیکون برنامه خود را در کنار ساعت ویندوز قرار داده و با کلیک مجدد آن را اجرا کنید فقط سئوالم این است که اگر بخواهم راست کلیک برای آن بگذارم چگونه باید عمل کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
باتشکر

Valadi
شنبه 06 بهمن 1386, 07:05 صبح
شما بایستی از PopupMenu استفاده کنید

dkhatibi
شنبه 06 بهمن 1386, 18:43 عصر
پس برنامه را در System Tray قرار می دهید.
در صورت امکان مدیر بخش جناب کشاورز عنوان را اصلاح کنند.

champion
شنبه 06 بهمن 1386, 23:27 عصر
از کامپوننت ButyTryIcon استفاده کن دقیقا همین کاری رو میکنه که میخوای، این کامپوننت توی مجموعه Rize هم وجود داره

vcldeveloper
یک شنبه 07 بهمن 1386, 01:16 صبح
فقط سئوالم این است که اگر بخواهم راست کلیک برای آن بگذارم چگونه باید عمل کنم؟
من سورس شما را نگاه نکردم که ببینم از کامپوننت خاصی استفاده کردید، یا خودتون کامپوننتی برای این کار نوشتید، در هر حال می تونید با ایجاد یک پنجره مخفی و ارسال پیام های موس به آن، برای آیکن خود حالت نمایش Popup Menu بوجود بیارید.
کامپوننت های مجانی مثل CoolTray هستند که کاملا نمایش آیکن در System Tray و اختصاص منوی Popup به آن را پشتیبانی می کنند. می تونید از این کامپوننت ها استفاده کنید، یا سورسشان را مطالعه کنید و ببینید چطور کاری که گفتم را انجام میدند. در دلفی 2006 به بعد هم کامپوننت استانداردی به کامپوننت های دلفی اضافه شده که این کار را انجام میده.

m-khorsandi
یک شنبه 07 بهمن 1386, 08:09 صبح
System Tray Delphi application - dirty and effective (http://delphi.about.com/od/kbwinshell/l/aa122501a.htm)

h_mohamadi
پنج شنبه 11 بهمن 1386, 17:24 عصر
سلام اگر بخواهم با زدن دکمه minimaz خود فرم این دستورها اجرا شود و برنامه در System Tray برود از چه دستوری باید استفاده کنم.
ممنون

h_mohamadi
پنج شنبه 11 بهمن 1386, 17:39 عصر
آقای champion (http://barnamenevis.org/forum/member.php?u=8064) من هرچی گشتم کامپوننتی را که گفتید پیدا نکرم.
می شود لینک آن را بگذارید با برایم ایمیل کنید.
H_MOAHMADI63@yahoo.com

champion
شنبه 13 بهمن 1386, 23:11 عصر
متاسفانه حجمش خیلی زیاده نمیتونم برات بفرستم اما ابی کامپیوتر یا تکنو 2000 سر بزنی حتما پیدا میکنی

elagoli
یک شنبه 14 بهمن 1386, 08:14 صبح
سلام آقا یا خانم محمدی
من امروز صبح تاپیک رو دیدم و نشستم سوال شما را جواب دادم ولی بعد که چک کردم دیدم آقای خرسندی جواب شمار را داده ولی در هر حال سورس رو برای شما میذارم البته لازم به ذکر است که من سورس شما را ندیدم و اطلاعی از آن ندارم .امیدوارم این مطلب بدرتون بخوره.

tanhayetanha
دوشنبه 15 بهمن 1386, 11:16 صبح
سلام .
من این کار و کردم و به جواب رسیدم شما هم می تونید امتحان کنید.برای این کار یک popupmenu روی فرمت بذار و کد زیر را به برنامت اضافه کن .
procedure Icontray(var Msg: TMessage); message WM_ICONTRAY;
//

procedure TForm1.Icontray(var Msg: TMessage);
var
CursorPos : TPoint;
begin
try
if Msg.lParam = WM_RBUTTONDOWN then
begin
GetCursorPos(CursorPos);
PopupMenu1.Popup(CursorPos.x, CursorPos.y);
end
else
inherited;
except

end;
end;