第一个问题:如题第二个问题:
SetTimer(1,100,TimeProc)   //如果这个打开定时器函数我是在视图的按钮下进行打开的,那么这个TimeProc应该是视图的成员函数吗???
手头没有MSDN和VC的书,只好请教大家了。先谢谢哦~~!!

解决方案 »

  1.   

    2:TimeProc应该是WM_TIMER的消息处理函数,可以是成员,也可以不是,如果你在CDialog的继承类中处理,这个函数应该是OnTimer,而且这里不需要甚至.
      

  2.   

    1.你需要自定义消息,在初始化的时候指定一个回调消息,叫uCallbackMessage将这个消息设置为你的自定义消息,然后在你的程序中处理该消息:
    .h中
    NOTIFYICONDATA InitNotifyData(char *szTip,HICON icon,UINT uID,
    UINT uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP,
    UINT uCallbackMessage=WM_ALERTNOTIFY);.cpp
    ON_MESSAGE(WM_ALERTNOTIFY,OnNotifyIcon)void CAlertDlg: nIconNotify(WPARAM wParam, LPARAM lParam)
    {
    switch(lParam)
    {
    case WM_LBUTTONDBLCLK:
    ShowWindow(SW_RESTORE);
    break;
    case WM_RBUTTONDOWN:
    {
    CMenu menu;
    if(menu.LoadMenu(IDR_MENU))
    {
    CMenu *pPopup = menu.GetSubMenu ;
    ASSERT(pPopup != NULL);
    POINT *point=new POINT();
    ::GetCursorPos(point);
    int xPos = point->x;// horizontal position of cursor
    NOTIFYICONDATA CAlertDlg::InitNotifyData(char *szTip,HICON icon,UINT uID,UINT uFlags,UINT uCallbackMessage)
    {
    NOTIFYICONDATA data;
    data.cbSize=sizeof(NOTIFYICONDATA);
    data.hWnd = this->m_hWnd;
    strcpy(data.szTip,szTip);
    data.uFlags=uFlags;
    data.uID=uID;
    data.uCallbackMessage=uCallbackMessage;
    data.hIcon=icon;
    return data;
    }你可以根据这个修改一下