Hallo Heiko,
Das + 1 ist in diesem Falle definitiv erforderlich.
Was hier genutzt wird ist die Möglichkeit der Windows
API ein Bild einer Imagelist mit Overlay zu malen (letztlich über ImageList_DrawEx).
Der zu übergebende Index des Overlays ist hierbei 1 basiert, nicht 0 basiert, wie sonst üblich. Der Grund hierbei ist auch ziemlich simpel:
0 um 8 bit nach links geschoben ergibt immer noch 0. Daher will die
API hier also tatsächlich den Index + 1.
Aber willst du wirklich ein Overlay?