The HDM_SETITEM message sets the attributes of the specified item in a header control. You can send this message explicitly or by using the Header_SetItem macro.
HDM_SETITEM wParam = (WPARAM) (int) index; lParam = (LPARAM) (const HD_ITEM FAR*) phdi;
If the operation succeeds, the return value is TRUE.
If the operation fails, the return value is FALSE.
The HDN_ITEMCHANGING notification message is sent to the parent window before the item attributes are changed. The parent window can return FALSE to prevent the changes, and in that case, HDM_SETITEM returns FALSE. If the parent window returns TRUE, the changes are made and the parent window receives the HDN_ITEMCHANGED notification message.