我是这样导入图标的,
m_hIcon = (HICON)LoadImage(NULL,_T("res\\Qqfc.ico"),IMAGE_ICON,0,0,LR_LOADFROMFILE);
并且这个图标是用在托盘显示的,
在托盘的消息处理函数里,不是有个判断是否是该位图资源的语句:
//托盘消息处理函数
LRESULT CQqfcDlg::OnShowTask(WPARAM wParam,LPARAM lParam) //wParam接收的是图标的ID,lParam接收的是鼠标的行为 
{
if(wParam!=IDR_MAINFRAME) //IDR_MAINFRAME这个是原先默认的MFC三个字的图标,              
return 1; switch(lParam) 

case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭” 
{   
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
IDR_MAINFRAME这个是原先默认的MFC三个字的图标,
但是我现在已经换成了Qqfc.ico这个资源了,可是资源ID是哪个呢,
好像根本就没有,这个该如何设置Qqfc.ico 的资源ID?

解决方案 »

  1.   

    Qqfc.ico为什么不放到资源里呢?
    不在资源里面怎么会有ID?最多有个句柄啊
      

  2.   

    API的LoadImage函数不需要ID号的。
    LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT)宽字节的原型是这样的
    只需要第二个参数LPCWSTR为文件名就可以了。
      

  3.   

    m_hIcon = (HICON)LoadImage(NULL,_T("res\\Qqfc.ico"),IMAGE_ICON,0,0,LR_LOADFROMFILE);0,0,这里不是填图标的大小的嘛。0,0的话不就是相当于没有导入?不知道是不是这个原因,我是个新手。
      

  4.   

    将资源导入就有ID了
    lz需要ID的话为什么不这样做呢
      

  5.   

     
    HANDLE LoadImage(          HINSTANCE hinst,
        LPCTSTR lpszName,
        UINT uType,
        int cxDesired,
        int cyDesired,
        UINT fuLoad
    );
    cxDesired ,cyDesired:图标或光标的宽度高度,如果参数为0,则fuLoad不设LR_DEFAULTSIZE,那么函数使用目前的资源高度。
    对静态位图来说,参数cxDesired ,cyDesired为零。
    范例(HBITMAP)LoadImage( AfxGetInstanceHandle(),TEXT("c://*.bmp"), IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE));
      

  6.   

    我知道将原来的去掉,替换掉就有ID 了,
    我其实是想问:用LoadImage载进来的资源,有没有办法获得它的ID
    看来是没有办法的
      

  7.   

    ID是什么你知道么?是Resource.h里面的定义和资源实体的对应关系,你都不是资源,哪来的ID??!!