画像付ファイル名のリストボックス

ヘッダファイルへの追加
 #include “DImgS.hxx” または “DImg.hxx”
 #include “ODrawDcM.hxx”

 ListBoxDocMF m_ListDImage;
 CArray <DImageS,DImageS> DImgAry ; または <DImage,…>

OnInitDialog など
 m_ListDImage.SubclassDlgItem(IDC_XXXX_FILE_LIST,this) ;
 m_ListDImage.Init() ;
 m_ListDImage.ResetContent() ;

リストに表示するファイルの設定
 DImgAry.RemoveAll() ;
 for (int dIndex=0 ; dIndex<addFiles.GetSize() ; dIndex++) {
  DImageS dImg ; または DImage
  dImg.SetFileName(addFiles[dIndex]) ;
  DImgAry.Add(dImg) ;
  }
 m_ListDImage.ResetContent() ;
 for (int rIndex=0 ; rIndex<DImgAry.GetSize() ; rIndex++) {
  CString fileName = DImgAry.GetAt(rIndex).GetFileName() ;
  m_ListDImage.AddString(fileName,fileName) ;
   // 以下は登録時に画像を付ける場合
  CString mfName = CacheFile::GetCF_Name(fileName,1000) ;
  if (::FileIsExist(mfName)) {
   m_ListDImage.SetAtDocMF(rIndex,mfName) ;
   }
  else {
   HICON icon = DImageS_GetIcon(fileName) ;
   m_ListDImage.SetAtIcon(rIndex,icon) ;
   }
  }

DImageS クラスでなく DImage クラスを使用した場合は,ImageDMF クラスをサポートする形になる.
DImageS クラスでは,対応付けた EMF での動作になる.
現状の ListBoxDocMF では Shell Extension を利用できないみたい.
別のクラスを用意するか変更が必要.間にListBoxDocSE などを用意するか?
 

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください