nIDFirst 부터 nIDLast의 Control Bar까지 위치나 크기가 조정되며, nIDLeftOver Pane으로 나머지 Client영역을 채운다. 나머지는 Default 값을 사용하거나 다음과 같은 목적으로 조합할 수 있다.
만약 nFlag의 값으로 CWnd::reposQuery 를 사용하면 조정이 실제 행해지지는 않으면서 조정이 실제로 이루어 졌을때의 Client 영역을 얻을 수 있다.
만약 nFlag값을 CWnd::reposExtra 으로 설정하면 nIDLast Client 영역에 lpRectParam 만큼의 영역을 더하여 조정을 하게된다.
lpRectClient는 임의로 윈도우의 Client 영역을 정할 수도 있으며, NULL인경우 윈도우의 현재 Client 영역을 사용한다.
bStretch 는 Bar를 윈도우 Frame 크기에 맏도록 늘릴지를 결정한다.
이상 별로 어려워 보일것 같지 않은 함수이다. 그러나 오늘 이 함수를 깊이 있게 살펴보고자 하는 이유는 다음 때문이다.
FrameWnd가 있는데 그 안쪽에 SplitterWnd를 사용하여 두개의 View를 보여주고 있었다. 이때 FrameWnd에 두개의 ToolBar를 이어붙여 보여줄 필요가 생겼다. 그래서 두 툴바를 이어 붙여주는 함수에서 RepositionBars()를 다음과 같이 사용하였다.