如何在Vs2010专业版或旗舰版上安装WTL

如何在Vs2010专业版或旗舰版上安装WTL,第1张

安装流程:

首先,打开浏览器,搜索“VS2010”,之后找到相应的资源之后,开始下载。

下载之后,双击exe进行安装,通常下载的安装包是压缩包,先进行解压缩,之后双击解压缩文件中的exe进行安装

之后,进入到安装选择页面,点击“安装Microsoft Visual Studio 2010”。

然后进入到安装检查页面,选择是否发送我的安装体验之后,点击“下一步”。

之后,选择“我已阅读并接受许可条款”,之后点击“下一步”。

之后,选择需要安装的功能(有完全和自定义两种模式),然后再选择安装的文件路径。点击“下一步”

之后进入到安装组件页面,这个过程不用任何 *** 作,等待大致20分钟左右,具体根据机器的配置

最后,即可看到安装完成的页面

1、WTL80\AppWiz\Files\HTML\1033的目录下的三个文件都存在同一处问题,导致向导无法执行:

AppType.htm的第443到451行、default.htm的第509到517行、UIFeatures.htm的第516到524行:

<SCRIPT >

var strPath = window.external.FindSymbol( " PRODUCT_INSTALLATION_DIR " )

strPath += " VCWizards/ "

strPath += window.external.GetHostLocale()

var strScriptPath = strPath + " /Script.js "

var strCommonPath = strPath + " /Common.js "

document.scripts( " INCLUDE_SCRIPT " ).src = strScriptPath

document.scripts( " INCLUDE_COMMON " ).src = strCommonPath

</ SCRIPT >

需要修改为:

<SCRIPT>

document.scripts("INCLUDE_SCRIPT").src = window.external.FindSymbol("SCRIPT_COMMON_PATH") + "/Script.js"

document.scripts("INCLUDE_COMMON").src = window.external.FindSymbol("SCRIPT_COMMON_PATH") + "/Common.js"

</SCRIPT>

原因是Script.js与Common.js两个文件的路径指向错误,因此无法读取这两个文件中的所定义的函数。

2、WTL80\AppWiz\Files\HTML\1033\default.htm的第21到22行的标签未封闭,直接删掉:

<!-- This closing tag is here only to avoid security warning -->

</OBJECT>

3、WTL80\AppWiz\Files\HTML\1033的目录下的三个文件AppType.htm、default.htm、UIFeatures.htm的排版格式有问题,导致向导页面无法正常显示,直接在VS2005中打开进行编辑,将多余的空行删掉,把窄的表格拉宽。

我这里有个源代码例子,可以用GDI+的接口,将指定路径的图片,加载到内存中。

这里有个WTL GDI+的代码,你试试,指定好路径及文件类型。

ATLINLINE HBITMAP AtlLoadGdiplusImage(ATL::_U_STRINGorID bitmap, ATL::_U_STRINGorID type = (UINT) 0)

{

   USES_CONVERSION

   static bool s_bInitied = false

   if( !s_bInitied ) {

      s_bInitied = true

      Gdiplus::GdiplusStartupInput gsi

      Gdiplus::GdiplusStartupOutput gso

      ULONG uToken = 0

      Gdiplus::GdiplusStartup(&uToken, &gsi, &gso)

   }

   Gdiplus::Bitmap* pBitmap = NULL

   if( HIWORD(bitmap.m_lpstr) != NULL ) {

      // Load from filename

      pBitmap = new Gdiplus::Bitmap(T2CW(bitmap.m_lpstr)) 

   }

   else if( type.m_lpstr != NULL && type.m_lpstr != RT_BITMAP ) {

      // Loading PNG, JPG resources etc

      WTL::CResource res

      if( !res.Load(type, bitmap) ) return NULL

      DWORD dwSize = res.GetSize()

      HANDLE hMemory = ::GlobalAlloc(GMEM_MOVEABLE, dwSize)

      if( hMemory == NULL ) return NULL

      ::memcpy(::GlobalLock(hMemory), res.Lock(), dwSize)

      ::GlobalUnlock(hMemory)

      IStream* pStream = NULL 

      if( FAILED( ::CreateStreamOnHGlobal(hMemory, TRUE, &pStream) ) ) {

         ::GlobalFree(hMemory)

         return FALSE

      }

      pBitmap = new Gdiplus::Bitmap(pStream)

      pStream->Release()

   }

   else {

      // This only loads BMP resources

      pBitmap = new Gdiplus::Bitmap(_Module.GetResourceInstance(), (LPCWSTR) (UINT) bitmap.m_lpstr)

   }

   if( pBitmap == NULL ) return NULL

   HBITMAP hBitmap = NULL

   pBitmap->GetHBITMAP(NULL, &hBitmap) 

   delete pBitmap

   return hBitmap

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11516626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存