MAKEINTRESOURCE

MAKEINTRESOURCE   的作用:  
  是把一个"数字形ID",转化为"字符串".但是执行前后,输入的数据的内容和长度是不变的!它只不过就是C语言里面"强制类型转换"而已.  
   
  请看   Winuser.h   代码:  
  #define   MAKEINTRESOURCEA(i)   (LPSTR)((DWORD)((WORD)(i)))  
  #define   MAKEINTRESOURCEW(i)   (LPWSTR)((DWORD)((WORD)(i)))  
  #ifdef   UNICODE  
  #define   MAKEINTRESOURCE     MAKEINTRESOURCEW  
  #else  
  #define   MAKEINTRESOURCE     MAKEINTRESOURCEA  
  #endif   //   !UNICODE  
   
  现在,再来归纳它的用法.就用FindResource来说明.(这个函数与MFC的AfxFindResourceHandle)  
   
  HRSRC   FindResource(  
      HMODULE   hModule,   //   module   handle  
      LPCTSTR   lpName,     //   resource   name  
      LPCTSTR   lpType       //   resource   type  
  );  
   
  就是lpName参数需要使用MAKEINTRESOURCE   ,因为它需要LPCTSTR类型的参数输入.那么,情况就很清楚了.凡设计"资源"的API或者MFC类,在参数类型为LPCTSTR时,就应该使用MAKEINTRESOURCE   .这是针对"资源名字"为"数字类型"时的情况.  
   
  但是,当你使用的资源没有数字ID,而仅仅是用"字符串"来识别的话,就直接把这个标识资源名字的"字符串"当做参数传入,而不必使用MAKEINTRESOURCE   了
posted @ 2008-10-13 09:56  jcss  阅读(1170)  评论(0编辑  收藏  举报