0

メインフレーム内に独自のツールバーを作成する際に問題があります。独自のツールバーに使用したいボタンのビットマップがありますが、SDI アプリケーションのビュー内にツールバーが表示されるという問題があります。これは、正しく表示されていないツールバーの写真です。

http://www.flickr.com/photos/14402427@N02/3409050475/

Mainframe クラスの OnCreate 関数内のコードは次のとおりです。

// CToolBarCtrl m_wndToolBar; declared inside the MainFrame.h class.


      if(m_wndToolBar.Create(WS_CHILD |  TBSTYLE_FLAT | WS_VISIBLE | CBRS_TOP
        | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC
            ,CRect(0,0,250,50),this,0))
    {
        TRACE0("Failed to create toolbar\n");
        return -1;      // fail to create
    }

        TBBUTTON       tbbutton[3] = {0};
      CSize        button_size(90,90);      
      CSize        bitmap_size(80,80);     

      //m_wndToolBar.AddStrings("String 1\0String 2\0String 3\0");

      tbbutton[0].iBitmap                  = 0;      
      tbbutton[0].idCommand            = ID_CONNECT;
    tbbutton[0].fsState                  = TBSTATE_ENABLED;      
      tbbutton[0].fsStyle                  = TBSTYLE_BUTTON;
      tbbutton[0].dwData                  = 0;     
      tbbutton[0].iString                  = 0;

      tbbutton[1].iBitmap                  = 1;      
      tbbutton[1].idCommand            = ID_DISCONNECT;
    tbbutton[1].fsState                  = TBSTATE_ENABLED;       
      tbbutton[1].fsStyle                  = TBSTYLE_BUTTON;
    tbbutton[1].dwData                  = 0;     
      tbbutton[1].iString                  = 1;

      tbbutton[2].iBitmap                  = 2;      
      tbbutton[2].idCommand              = ID_STOP;
    tbbutton[2].fsState                  = TBSTATE_ENABLED;      
      tbbutton[2].fsStyle                  = TBSTYLE_BUTTON   ;
    tbbutton[2].dwData                  = 0;     
      tbbutton[2].iString                  = 2;

m_wndToolBar.SetButtonSize(button_size);
m_wndToolBar.SetBitmapSize( bitmap_size);

m_wndToolBar.AddButtons(3,tbbutton);
m_wndToolBar.AddBitmap(1,IDB_BITMAP1);
m_wndToolBar.AddBitmap(1,IDB_BITMAP2);
m_wndToolBar.AddBitmap(1,IDB_BITMAP3);

return TRUE;
4

2 に答える 2

1

DockControlBar(&m_wndToolBar)の直前に呼び出しを追加しますreturn

于 2010-09-23T13:19:10.813 に答える
0

あなたの画像からは、ペイントされていないか、正しくペイントされていないようです。最初にビットマップを追加してからボタンを追加してみましたか? または、m_wndToolbarBar で AutoSize を呼び出すことができますか?

于 2009-04-03T23:11:50.510 に答える