Можно еще так
X++:
void HeaderLayout(FormTableControl tbl)
{
int header;
int r = 0;
Binary RECT = new Binary(16);
Binary ptr = new Binary(4);
#define.WM_LBUTTONDOWN(0x0201)
#define.WM_LBUTTONUP(0x0202)
#define.HDM_FIRST(0x1200)
#define.HDM_GETITEMRECT(#HDM_FIRST + 7)
#winapi
;
header = winapi::getWindow(tbl.hWnd(), #GW_CHILD);
if (header)
{
ptr.binary(0, RECT);
if (winapi::sendMessageEx(header, #HDM_GETITEMRECT, 1, ptr.dWord(0)) > 0)
{
r = RECT.dWord(8);
winapi::sendMessageEx(header, #WM_LBUTTONDOWN, 1, r);
winapi::sendMessageEx(header, #WM_LBUTTONUP, 0, r);
}
}
}
Заодно выровняется ширина столбцов