À©µµ¿ì ÇÁ·Î±×·¡¹Ö ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   [MFC] Æ®·¹ÀÌ¿¡ ¾ÆÀÌÄÜ ³Ö±â 1998/11/28 (09:50)
À̸§ ±èÈ¿¿ø
¹øÈ£ 69
Á¶È¸ 780
º»¹® ¡ºMFC ÇÁ·Î±×·¡¸Ó µ¿È£È¸-ÀæÀº Áú¹® ¸ðÀ½ (go MFCPRO)¡» 102¹ø
Á¦  ¸ñ:[Á¤º¸] Æ®·¹ÀÌ¿¡ ¾ÆÀÌÄÜ ³Ö±â
¿Ã¸°ÀÌ:csaint  (¼®Çå¼·  )    98/06/10 15:26    ÀÐÀ½:254 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------

Æ®·¹ÀÌ¿¡ ¾ÆÀÌÄÜÀ» ³ÖÀ¸½Ã·Á¸é shell_Notifyicon()À̶õ
API¸¦ ÀÌ¿ëÇÏ½Ã¸é µË´Ï´Ù. ÀÌ ÇÔ¼ö´Â ´ÙÀ½ÀÇ ÆĶó¸ÞÅ͵éÀ»
°¡Áý´Ï´Ù.

Shell_Notyfyicon(DWORD dwmessage,PNOTIFYICONDATA pnid);

DWORD dwmessage:Æ®·¹ÀÌ¿¡ »ðÀ﵃ ¸Þ¼¼Áö Á¾·ù·Î ¾ÆÀÌÄÜ »ðÀÔ(NIM_ADD)
                 »èÁ¦(NIM_DELETE),¼öÁ¤(NIM_MODIFY)°¡ ÀÖ´Ù.

PNOTIFYICONDATA pnid:NOTIFYICONDATAÀÇ Æ÷ÀÎÅÍ

NOTIFYICONDATA ¶õ ¾ÆÀÌÄÜ¿¡ ´ëÇÑ Á¤º¸¸¦ Áö´Ï°í ÀÖ´Â ±¸Á¶Ã¼ÀÔ´Ï´Ù.
ÀÌ°ÍÀ» ÀÛ¼ºÇÑ ´ÙÀ½¿¡ shell_NotifyiconÀ¸·Î ¾ÆÀÌÄÜÀ» µî·ÏÇÏ´Â °ÍÀÔ´Ï´Ù.

±× ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù.

typedef struct _NOTIFYICONDATA{

       DWORD cbSize;ÀÌ ±¸Á¶Ã¼ÀÇ Å©±â. ´Ã Sizeof(NOTIFYICONDATA)°¡ µÊ
       HWND hwnd;¸¶¿ì½º ¸Þ¼¼Áö¸¦ ¹ÞÀ» ÇÚµé
       UINT uID:¾ÆÀÌÄÜÀÇ ID
       UINT uFlag;µî·Ï½Ãų µ¥ÀÌŸÀÇ Á¾·ù. óÀ½¿¡´Â ¾ÆÀÌÄÜ,¸Þ¼¼Áö,ÆÁÀ» ´ÙÇØÁà
                   ¾ß ÇϹǷΠNIF_ICON || NIF_MESSAGE || NIF_TIP À¸·Î ÇØÁà¾ß
                   ÇÑ´Ù.
       UINT uCallbackMessage;ÀÌ ¾ÆÀÌÄÜÀÇ À̺¥Æ®¸¦ ÁöÁ¤ÇØÁÖ´Â °÷.
                                º¸Åë ID_Tray_MESSAGE;·Î OnTrayNotify()¸¦ È£ÃâÇÑ

´Ù

       HICON hicon;¾ÆÀÌÄÜÀÇ ÇÚµé

       char szTip[64];¾ÆÀÌÄÜÀÇ ÅøÆÁ

}


°£´ÜÇÑ ¿ë·Ê·Î »ç¿ë¹ýÀ» º¸¿© µå¸®°Ú½À´Ï´Ù.

Oncreat()
{


       NOTIFYICONDATA tnd;
       HICON hIcon;//¾ÆÀÌÄÜ ÇÚµé

       tnd.cbSize=sizeof(NOTIFYICONDATA);

       tnd.hWnd=m_hWnd;
       tnd.uID=IDI_Tray;
       tnd.uFlag=NIF_ICON | NIF_MESSAGE |  NIF_TIP;

       tnd.uCallback Message=ID_Tray_MESSAGE;

       hIcon=(HICON)LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_Tray)
);

       tnd.hIcon=hIcon;
       strcpy(tnd.szTip,"This is a Tray Icon test program");


       //µî·Ï
       Shell_NotifyIcon(NIM_ADD,&tnd);

       //¸Þ¸ð¸® ³¶ºñ¸¦ ÇÏÁö ¾Ê°Ô Çϱâ À§ÇØ ¾ÆÀÌÄÜ ÇÚµéÀ» ¾ø¾Ø´Ù.
       if (hIcon)
       DestroyIcon(hIcon);

}

onClose(){

       //////////////////¾Æ·¡ ºÎºÐ »ðÀÔ
       NOTIFYICON tnd;

       tnd.cbsize=sizeof(NOTIFYICONDATA);
       tnd.hWnd=m_hWnd;

       tnd.uID=IDI_Tray;
       shell_NotifyIcon(NIM_DELETE,&tnd);
       /////////////////////////////////
}


±×¸®°í ¸Þ¼¼Áö ¸Ê ºÎºÐ¿¡¼­ ´ÙÀ½ÀÇ ¸Þ¼¼Áö »ðÀÔ

BEGIN_MESSAGE_MAP(CMainframe,CFrameWnd)
       //[AFX_MSG_MAP(CMainfram)
       ON_WM_CREATE()
       ON_WM_CLOSE()
       ON_MESSAGE(ID_Tray_MESSAGE,OnTrayNitifying)
       //]AFX_MSG_MAP
END_MESSAGE_MAP()

ÀÌ·¸°Ô µî·ÏÇؼ­ ¾²¼¼¿ä

ÀÚ¼¼ÇÑ°Ç ¿ø°í ¹Þ¾Æ¼­ ÀÐ¾î º¸½Ã°í ±×·¡µµ ¸ð¸£´Â ºÎºÐÀº Áú¹®
¿Ã¸®¼¼¿ä.


HomePage Backward Forward Post Reply List
1998 by swindler