Den Splitter kenntlich machen


Zuerst wollen wir dafür sorgen, dass die Splitter auch visuell als solche erkannt werden. Dazu ist es einfach nur notwendig, einen speziellen Mauszeiger zu benutzen, sobald die Maus in den Bereich des Splitters kommt.
Und das geht am einfachsten bei der Bearbeitung der Nachricht "WM_MOUSEMOVE", die im lParam die aktuellen Koordinaten liefert. Das niederwertige word enthält dabei die X-Koordinate, das höherwertige die Y-Koordinate:

WM_MOUSEMOVE:
  begin
    x := LOWORD(lp);
    y := HIWORD(lp);
if(x >= vSplitPos) and (x <= vSplitPos + SPLITWIDTH) then SetCursor(LoadCursor(0,IDC_SIZEWE)) else if(y >= hSplitPos) and (y <= hSplitPos + SPLITWIDTH) then SetCursor(LoadCursor(0,IDC_SIZENS)); end;

Die beiden benutzen Konstanten IDC_SIZEWE und IDC_SIZENS entsprechen dem Mauszeiger, der üblicherweise für Splitter verwendet wird: Er zeigt einen Doppelpfeil in Richtung West-Ost (ISC_SIZEWE) bzw. Nord-Süd (ISC_SIZENS) an, bspw.: