質問

ある場所でのメニューの新MFC機能の特徴パック):

  • メニューバー(CMFCMenuBar)
  • ポップアップメニュー(CMFCPopupMenu)
  • のドロップダウンメニューの"バージョンのCMFCButton

いいアイコン(高-色や透明性のメニュー全員について記入してください。いCFrameWndEx::OnDrawMenuImage()を利用できカスタム描画のアイコンはフロントのメニューバーの項目です。寒暖の差が激しいので皆様も便利なのに、実施のアイコンを描画は、2008年にでも動きます。他のまだ見つの解決にも至っていない。はありまautomagicに設定アイコンメニュー?

役に立ちましたか?

解決

こうしてログインしてくださ:

, としての人たちを目に見えないツールバーの横に、メインツールバーを使用してい通常の名前に基づくAppWizard名):

MainFrm.h:
class CMainFrame
{
    //...    
    CMFCToolBar m_wndToolBar;
    CMFCToolBar m_wndInvisibleToolBar;
    //...
};

MainFrm.cpp:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    //...

    // Normal, visible toolbar
    if(m_wndToolBar.Create(this,
        TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
    {
        VERIFY( m_wndToolBar.LoadToolBar(
            theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME) );

        // Only the docking makes the toolbar visible
        m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
        DockPane(&m_wndToolBar);
    }

    // Invisible toolbar; simply calling Create(this) seems to be enough
    if(m_wndInvisibleToolBar.Create(this))
    {
        // Just load, no docking and stuff
        VERIFY( m_wndInvisibleToolBar.LoadToolBar(IDR_OTHERTOOLBAR) );
    }
}

第二:の画像ならびにツールバー資源の

IDR_MAINFRAMEIDR_MAINFRAME_256 生成されたAppWizard.前者は醜16カラーバージョン、後者は興味深い高い色バージョン。
その名前にもかかわらずんでいて、私が記憶しているだけであっても、AppWizard画像は、24bitカラー。のもの:それに代わるだける32ビット画像だ作品です。

が目に見えないツールバー IDR_OTHERTOOLBAR:作成したツールバーとリソース編集者。一部のダミーアイコンとのコマンドで付けられたIdをもとに行います。対して生成されるビットマップを入れ替えと高い色バージョン。完了!

注意

開かないように追加の資源エディタ:でに変換す4bitでいます。も の場合 できるようになってしまいますのでそれで、Visual Studio、wouいに交換し、その結果と高い色再び!), かといった時には?) 単に編集できない、ツールバー.非常に不思議に思います。
その場合はアドバイスをしている直接編集します。rcファイルです。

他のヒント

私がいが誤っている可能性が考えられるこれらのクラスと同じBCGToolbarクしたMFCがMicrosoft買BCG.その場合、作成できますツールバーと同じものを使用IDツールバーボタンとしてのメニュー項目を作成したいアイコンで、表示されます。もちろん継続してご利用いただける実際の表示を追加。

にBCGToolbarで十分に作成ツールバーの資源負荷のでもないのウインドウを表示)が、ツールバーのボタンを作成するときに必要となるIDとしてのメニュー項目へのリンクです。

使い方はこの機能:

CMFCToolBar::AddToolBarForImageCollection(UINT uiResID,
   UINT uiBmpResID=0,
   UINT uiColdResID=0,
   UINT uiMenuResID=0,
   UINT uiDisabledResID=0,
   UINT uiMenuDisabledResID=0);

く例:

CMFCToolBar::AddToolBarForImageCollection(IDR_TOOLBAROWNBITMAP_256);

ができた。

この方法では、人を驚かせるためのカスタマイズ可能(例えば、非クツ、ツールバーまたは枠組みのりの養殖に変わりある種のパレットビットマップのアイコンのプログラム。しようとした場合の追加追加後は異なる追加)は、このビットマップ(またはpng)の異なる色深度による初めての方も、いようなのでできないとして追加しようとすると、同じパレットで確認できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top