系统默认的是在OnInitDialog()里的SetIcon()里指定。但我只想改变任务栏的图标(不是系托盘区的),怎么实现?

解决方案 »

  1.   

    把“IDR_MAINFRAME”的图标换成想要的就可以了
    任务栏和标题栏的图标一般都是一一对应的,这样不好吗?
    托盘区的图标也是可以另外指定的啊??
      

  2.   

    我看只能是seticon设置任务栏的图标,然后自绘标题栏前面部分了.
    wm_ncpaint
      

  3.   

    用 ITaskbarList::AddTab() 和ITaskbarList::DeleteTab()试试。
      

  4.   

    在onpain里画就可以了
    默认的是画主图标,改成自己的就可以了。
    www.vczx.com中的《一个局欲网udp聊天程序》里有。
      

  5.   

    你在最小化时,设置一个新的图标, 还原时再设置回来!
    void CTestDlg::OnSize(UINT nType, int cx, int cy) 
    {
    CDialog::OnSize(nType, cx, cy);
    if(nType == SIZE_MINIMIZED)
    {
    SetIcon(m_hIcon1, TRUE); // Set big icon
    SetIcon(m_hIcon1, FALSE); // Set small icon
    }
    else 
    {
    SetIcon(m_hIcon, TRUE); // Set big icon
    SetIcon(m_hIcon, FALSE); // Set small icon
    }}
      

  6.   

    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    m_hIcon1 = AfxGetApp()->LoadIcon(IDI_ICON1);
      

  7.   

    我是想通过api来实现,seticon己经不起作用了