Click here to Skip to main content
15,867,686 members
Articles / Desktop Programming / MFC
Article

Using Hot Toolbar Buttons

Rate me:
Please Sign up or sign in to vote.
4.71/5 (8 votes)
15 Dec 1999 155.4K   2.2K   37   15
Demonstrates how to add rollover buttons to your toolbar
  • Download demo project - 30 Kb
  • Sample Image - toolbar_hotbuttons.gif

    If you wanted to add hot toolbar buttons like the ones seen in internet explorer, it is pretty straight forward. This approach for will work for both Visual C++ 5 and 6, however you may want to read up on the enhancements to the toolbar class for VC 6.0.

    After your toolbar has been created in CMainFrame::OnCreate(), you will need to add the following code, this is assuming that you have two bitmap resources already created IDB_TOOLBAR_COLD for normal, and IDB_TOOLBAR_HOT for hot buttons:

    // Set up hot bar image lists.
    CImageList imageList;
    CBitmap    bitmap;
    
    // Create and set the normal toolbar image list.
    bitmap.LoadBitmap(IDB_TOOLBAR_COLD);
    imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);
    imageList.Add(&bitmap, RGB(255,0,255));
    m_hotToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
    imageList.Detach();
    bitmap.Detach();
    
    // Create and set the hot toolbar image list.
    bitmap.LoadBitmap(IDB_TOOLBAR_HOT);
    imageList.Create(21, 20, ILC_COLORDDB|ILC_MASK, 13, 1);
    imageList.Add(&bitmap, RGB(255,0,255));
    m_hotToolBar.SendMessage(TB_SETHOTIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
    imageList.Detach();
    bitmap.Detach();

    The send message portion of the code has been wrapped into a CToolBarCtrl() function call for Visual C++ 6. If you will notice, I have used 24 bit color images with the toolbar shown here, so you are not limited to just 16 colors.

    License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    Written By
    CEO Codejock Technologies, LLC
    United States United States
    This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
    This is a Organisation (No members)


    Comments and Discussions

     
    QuestionHow to Dock the Hot Toolbar with the Main Toolbar Pin
    vikrant kpr11-May-07 10:01
    vikrant kpr11-May-07 10:01 
    GeneralExcellent Pin
    Neil scsn5-Feb-05 5:54
    Neil scsn5-Feb-05 5:54 
    GeneralRe: Excellent Pin
    Alex Gibbs20-Mar-05 11:14
    Alex Gibbs20-Mar-05 11:14 
    Generalvera neat ! Pin
    nilaysoft26-Nov-02 1:55
    nilaysoft26-Nov-02 1:55 
    Generalvera good ! Pin
    19-May-02 2:46
    suss19-May-02 2:46 
    GeneralHelp me Pin
    2-Jan-01 9:22
    suss2-Jan-01 9:22 
    GeneralLittle bug Pin
    23-Nov-00 23:52
    suss23-Nov-00 23:52 
    GeneralGreat stuff - and here is the Disabled flag Pin
    gbh33815-Mar-00 17:27
    gbh33815-Mar-00 17:27 
    bitmap.LoadBitmap(IDB_TOOLBAR_DISABLED);

    [snip...same as Hot & Cold code]

    SendMessage(TB_SETDISABLEDIMAGELIST, 0, (LPARAM imageList.m_hImageList);

    GeneralIt is vera poor!!!! Pin
    Tippler11-Mar-00 7:30
    sussTippler11-Mar-00 7:30 
    GeneralRe: It is vera poor!!!! Pin
    Code Police18-Jun-00 19:51
    sussCode Police18-Jun-00 19:51 
    GeneralRe: It is vera poor!!!! Pin
    PhartPhace5-Sep-00 20:16
    PhartPhace5-Sep-00 20:16 
    GeneralRe: It is vera poor!!!! Pin
    15-May-01 19:10
    suss15-May-01 19:10 
    QuestionWhat about in 256 colour mode ? Pin
    Christian22-Jan-00 20:57
    Christian22-Jan-00 20:57 
    AnswerRe: What about in 256 colour mode ? Pin
    TMAN19-Jul-00 10:49
    TMAN19-Jul-00 10:49 
    GeneralRe: What about in 256 colour mode ? Pin
    darkbyte5-Sep-00 15:54
    darkbyte5-Sep-00 15:54 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.