得到两个窗口的指针和rect,用DrawAnimatedRects就搞定了

解决方案 »

  1.   

             // get Task`s handle 
    HWND hWnd = ::FindWindow("Shell_TrayWnd",NULL);
             // get Task`s pointer
    CWnd *pWnd = CWnd::FromHandle(hWnd);
             // get Task`s rect and modefiy
    RECT rectTraWnd;
    pWnd->GetWindowRect(&rectTraWnd);
    rectTraWnd.right = rectTraWnd.left+10;
             // get your app`s rect 
    RECT rectApp;
    GetWindowRect(&rectApp);
             // Display Animation 
    DrawAnimatedRects(m_hWnd, IDANI_CAPTION, &rectApp, &rectTraWnd );
           
    ShowWindow( SW_HIDE );
    这段代码对你有可能有点帮助
      

  2.   

    以下代码也可能对你有帮助:
    在CMainFrame中加入成员变量:CWnd m_wndOwner;BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    //SAMPLE: modified this function to use our owner if (!CFrameWnd::PreCreateWindow(cs))
    return FALSE; //SAMPLE: end of changed lines //SAMPLE: added these lines to create our invisible owner // we have to check since PreCreateWindow may be called
    // more than once if (m_wndOwner.m_hWnd == NULL)
    {
    // we don't care about any attributes of our hidden window LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0); if (!m_wndOwner.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    NULL, 0))
    return FALSE;
    } // note that we _don't_ set WS_CHILD... making the _owner_
    // window of our frame some invisible window. cs.hwndParent = m_wndOwner.m_hWnd;
    return TRUE; //SAMPLE: end of added lines
    }