我找到一个不错的图标,想把它作为程序的图标,可是我不知道怎么做,把它名字改成IDR_MAINFRAME好像不行,又找不到拷贝的办法,那位高手指点一下

解决方案 »

  1.   

    import into the rc then
    CTRL + C, CTRL + P
      

  2.   

    先删掉原来的IDR_MAINFRAME图标,在资源里import进来你的图标,然后将起改名为IDR_MAINFRAME
      

  3.   

    换图标
    SendMessage(WM_SETICON,ICON_SMALL,(LPArAM)stFileInfo.hicon);
      

  4.   

    在Win32SDK编程中,将窗口类的hIconSm设置为LoadIcon(窗口类的hInstance句柄,MAKEINTRESOURCE(图标ID)),在MFC编程中,应该在CmainFrame类的OnCreate函数中调用SetIcon()函数设置程序图标!
      

  5.   

    先删掉原来的IDR_MAINFRAME图标,在资源里import进来你的图标,然后将起改名为IDR_MAINFRAME
    如果你想在对话框上加上加图标的话可以这样做
    在对话框的类内定义
    HICON m_hIcon;
    然后在构造函数中赋值
    m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    接着重载OnInitDialog
    加入
    SetIcon(m_hIcon,TRUE);
    SetIcon(m_hIcon,FALSE);
    就可以了
      

  6.   

    为基于文档视图的窗口改变图标:     方法一
    单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后把它删除掉! 从Developer Studio的Insert菜单中选择Resource,然后选择Icon,导入(Import)一个漂亮的的图标。 改变新图标ID改为AFX_IDI_STD_FRAME(SDI应用程序)或改为AFX_IDI_STD_MDIFRAME(MDI应用程序)。AFX_IDI_STD_MDIFRAME和AFX_IDI_STD_FRAME这两个资源ID是MFC中预定义了的。 编译、连接、运行 ,看看是不是就是你指定的图标。
         方法二 
    动态地改变窗口的图标 
    在程序运行时动态地改变框架窗口图标的原理是使用函数 
    CWnd::SendMessage()向窗口发送WM_SETICON消息。其方法是: 
    HICON hIcon=AfxGetApp()- >LoadIcon(IDI_ICON1);
    ASSERT(hIcon);
    AfxGetMainWnd()- >SendMessage(WM_SETICON,TRUE,(LPARAM)hIcon);
    ---- 以上叙述中的AfxGetMainWnd()是获得主框架窗口的窗口句柄,所以改变的是主框
    架窗口(包括MDI和SDI)的图标。    为基于对话框的窗口改变图标:
    基于对话框的程序改变其图标很简单.
    首先为插入的图标取名(IDI_ICON1);在对话框头文件定义 HICON m_hIcon;
    在下面函数中添加如下代码:
    CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/)
        : CDialog(SetPassword::IDD, pParent)
    {
        //{{AFX_DATA_INIT(mydialog)
    m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
        //}}AFX_DATA_INIT
    }
       在BOOL CMyDialog::OnInitDialog() 
    {
        CDialog::OnInitDialog();    SetIcon(m_hIcon, TRUE);        //设置大图标_对话框
        SetIcon(m_hIcon, FALSE);       //设置小图标_对话框
    ……………………………………………………………………
    ……………………………………………………………………..
    }