I have been taking part in a project for the last two years. At first we were using Microsoft Visual C++ 5.0. I placed some controls into our toolbars using well-known method by using a toolbar separator. You could get more info about that at http://www.codeguru.com/toolbar/ctrls_in_tb.shtml. Changing Visual C++ version from 5.0 to 6.0 I gave our toolbars the TBSTYLE_FLAT style.
After this I found that separators under some controls that have a small height became visible. It was not so good. But I did not want to refuse from the TBSTYLE_FLAT style. So I decided to fill rectangles of the separators intersecting with controls using the toolbar background brush. I have created CSeparatorsHidingToolBar class derived from MFC CToolBar class for this purpose.
Step 1: Replace the instance of the CToolBar with CSeparatorsHidingToolBar class or if you have your own toolbar class simply derive it from CSeparatorsHidingToolBar one. Be sure to add an include statement for CSeparatorsHidingToolBar class definition.
That is all.
DownloadsDownload demo project - 32 Kb
Download source - 1 Kb