2017-01-31 38 views
0

MFCアプリケーションがあり、ツールバーを使用すると、ツールバーはVisual Studio 2010でbmp 32色のリソースファイルを使用します。このアプリケーションはVS2010で正常に動作します。MFCツールバーのアイコンがVisual Studioで表示されない2015

VS2010 Bitmap file property

のVisual Studio 2015年には、このアプリケーションを変換した後、ツールバーのアイコンが表示されません。 Visual Studioの2015年には、フォーマットプロパティ32bppのBGRを示し

VS2015 Bitmap file property

は何もVS2015のビットマップエディタの変化や、私がここにいくつかのプロパティの設定をしないのですか?

+0

変換が確実にたわごとを行っているですが、私には思えるのコード次

変更!古いバージョンのGIMPで開くべきだと思います。私はこの種の問題を覚えています! VC++アプリケーションは、非常に特殊な形式の透明なビットマップしかサポートしていません!明日私はあなたにもっと詳細な指針を与えるかもしれません! – sergiol

+0

まだ変換されていないものはありますか?新しいものを上書きすることはできますか? – sergiol

+0

まだ同じ問題があります。 –

答えて

0

MFCが受け付けるツールバーの低リソースバージョンを作成した後、この問題を解決できます。私たちはコマンドIDに関しては元のツールバーと同じレイアウトを持ち、MFCが受け入れる低解像度のbmpファイルを参照するツールバーリソースを参照する必要がある低リソースIDを作成しました。メインフレーム:: OnCreate関数

if (!m_wndToolBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_FLOATING, IDR_LOWRES_RES_ID) || !m_wndToolBar.LoadToolBar(IDR_LOWRES_RES_ID)) 
{ 
    TRACE0("Failed to create add fields bar\n"); 
    return -1;  // fail to create 
} 
//Added 

//Replace imagelist with 32 bit bmp 

CToolBarCtrl& ctl = m_wndToolBar.GetToolBarCtrl(); 

CImageList *pList = ctl.GetImageList(); 

// Delete low res image list 
pList->DeleteImageList(); 

pList->Create(34, 34, ILC_COLOR32, 32, 0); 

ctl.SetImageList(pList); 

ctl.AddBitmap(32, IDR_ADD_HIGH_RES_ID); 
関連する問題