WEB开发网
开发学院软件开发VC 如何提取并保存图标资源 阅读

如何提取并保存图标资源

 2006-07-23 11:30:38 来源:WEB开发网   
核心提示: 在OnPaint()涵数中加入下面代码用来具体显示提取出的图标或位图资源,//根据左侧图标列表,如何提取并保存图标资源(2),利用OnPaint()来更新右侧相应图标LPTSTR lpIconID;HICON hIcon;if((lpIconID=(LPTSTR)m_List.GetIte

在OnPaint()涵数中加入下面代码用来具体显示提取出的图标或位图资源。

//根据左侧图标列表,利用OnPaint()来更新右侧相应图标

LPTSTR lpIconID;
HICON hIcon;
if((lpIconID=(LPTSTR)m_List.GetItemData(m_List.GetCurSel()))!=(LPTSTR)LB_ERR )
{
if(szOpenFileExtName=="exe"||szOpenFileExtName=="dll"||szOpenFileExtName=="icl")
{
     hIcon=pIcons->GetIconFromInstance(EDII.hInstance,lpIconID);
   CStatic* pStatic = (CStatic*) GetDlgItem(IDC_ICONS);
   pStatic->SetIcon (hIcon);
}
}

2、 如何将提取出的图标资源保存为Ico或Bmp格式。

//保存图标资源为ICO或BMP格式文件

void CIconSnapDlg::OnButtonSaveas()
{
LPTSTR lpIconID;
  CFileDialog fileDialog( FALSE,"*.ICO",NULL,NULL,"图标文件(*.ICO)|*.ICO|位图文件(*.BMP)|*.BMP||");
if (fileDialog.DoModal() == IDOK)
{
szSaveFileName=fileDialog.GetPathName();
     szSaveFileExtName= fileDialog.GetFileExt ();
szSaveFileExtName.MakeLower ();
if(szOpenFileExtName=="exe"||szOpenFileExtName=="dll"||szOpenFileExtName=="icl")
      if((lpIconID=(LPTSTR)m_List.GetItemData (m_List.GetCurSel()))!= (LPTSTR)LB_ERR)
   lpIR=pIcons->ReadIconFromEXEFile (szOpenFileName,lpIconID);
     if(szSaveFileExtName=="bmp")
{
  if(lpIR!=NULL && m_List.GetCount ()>0)
  {
BeginWaitCursor();
pIcons->IconImageToBMPFile (szSaveFileName,&lpIR->IconImages [0]);
EndWaitCursor();
  }
  else
       MessageBox( "没有可保存的图标资源!", "错误", MB_OK );
}
else if(szSaveFileExtName=="ico")
{
      if(lpIR!=NULL && m_List.GetCount ()>0)
  {
BeginWaitCursor();
pIcons->WriteIconToICOFile (lpIR,szSaveFileName);
EndWaitCursor();
  }
  else
     MessageBox( "没有可保存的图标资源!", "错误", MB_OK );
}
}
}

以上代码的详细实现,请在下载后源码后,仔细参看既可。

上一页  1 2 

Tags:如何 提取 保存

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接