用的函数是DrawAnimatedRects()
动态托盘像QQ一样为什么最小化时从最小化后开始托盘
当做一个BOTTON不会最小化后。
响应函数是
void CMainDlg::OnSize(UINT nType, int cx, int cy) 
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
//WinAnimation(true);
if (nType==SIZE_MINIMIZED)//如果事件为最小化
    {
WinAnimation(true);//弹入
Shell_NotifyIcon(NIM_ADD,&pnid);//在托盘区添加图标
//AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_VER_NEGATIVE);
ShowWindow(SW_HIDE);//隐藏主窗口 
    }
}
我知道程序先最小化了窗口。怎么去断开SIZE_MINIMIZED不让其最小化直接执行动态托盘。

解决方案 »

  1.   

    搞不清你的意思~~~
    你先看看这个,应该有用
    http://download.csdn.net/source/1771622
      

  2.   

    我的意思是:
    建一个按钮时Caption为托盘。
    点击时调用DrawAnimatedRects() 动态托盘。窗口是从当前位置托盘。
    而在最小化时如果是最小化我也想从当前位置托盘。可是程序总是从最小化后的位置动态托盘。if (nType==SIZE_MINIMIZED)//如果事件为最小化 
        { 
    WinAnimation(true);//弹入 
    Shell_NotifyIcon(NIM_ADD,&pnid);//在托盘区添加图标 
    //AnimateWindow(GetSafeHwnd(),1000,AW_HIDE|AW_VER_NEGATIVE); 
    ShowWindow(SW_HIDE);//隐藏主窗口