Nimajin home
Home Resume Portfolio Technologies Download Contact

Multisplitter

A WTL window splitter class that can host more than two children

This splitter can be a direct replacement for the existing two-panel WTL splitter. It has some additional features, such as:

  • Change vertical / horizontal orientation at run time.
  • Add or remove as many panes as you like.
  • Resize any pane. This has two modes: Other panes reduce size (proportionally) when a pane is enlarged, or other panes are moved over.
  • The size of the panes can be constrained to the size of the splitter container, or allowed to be larger.
  • A scroll bar is presented when the size of the panes is greater than the size of the container.

More details are described in the comments in the source.

The demo project is a WTL frame window with a menu. The client area is a multisplitter window. The menu provides demonstration of most of the multisplitter methods.

Download Files

multisplit.h (47 KB) Include file

Source Code (50 KB) Includes multisplit.h, test/demo WTL application and VS 2005 project file

Requires ATL version 7, available with Visual Studio, or in the Platform SDK

Requires WTL, any version back to maybe before 7.1, available at SourceForge

Revisions

2008-04-25 Add PanesCount property and Contains method. Revised Insert to append when index is greater than number of panes.
2004-12-13 Add mousewheel support.
2003-05-16 Initial release.

Page copyright © 2008 Nimajin Software Consulting, last revised 2009-09-25