int BirthdayListResize(HWND hWnd, LPARAM lParam, UTILRESIZECONTROL *urc) { switch (urc->wId) { case IDC_BIRTHDAYS_LIST: { //urc->rcItem.left = 0; //urc->rcItem.top = 0; //urc->rcItem.right = urc->dlgNewSize.cx; //urc->rcItem.bottom = urc->dlgNewSize.cy; //return RD_ANCHORX_CUSTOM | RD_ANCHORY_CUSTOM; return RD_ANCHORX_WIDTH | RD_ANCHORY_HEIGHT; } case IDC_CLOSE: { //urc->rcItem.left = 0; //urc->rcItem.right = urc->dlgNewSize.cx; //urc->rcItem.top = 0; //urc->rcItem.bottom = urc->dlgNewSize.cy; // //return RD_ANCHORX_CUSTOM | RD_ANCHORY_CUSTOM; return RD_ANCHORX_RIGHT | RD_ANCHORY_BOTTOM; } case IDC_SHOW_ALL: { //urc->rcItem.left = 0; //urc->rcItem.right = urc->dlgNewSize.cx; //urc->rcItem.top = 0; //urc->rcItem.bottom = urc->dlgNewSize.cy; // //return RD_ANCHORX_CUSTOM | RD_ANCHORY_CUSTOM; return RD_ANCHORX_LEFT | RD_ANCHORY_BOTTOM; } } return RD_ANCHORX_LEFT | RD_ANCHORY_TOP; } //... //dlg handler case WM_MOVE: case WM_SIZE: { UTILRESIZEDIALOG urd = {0}; urd.cbSize = sizeof(UTILRESIZEDIALOG); urd.hInstance = hInstance; urd.hwndDlg = hWnd; urd.lpTemplate = MAKEINTRESOURCEA(IDD_BIRTHDAYS); urd.pfnResizer = BirthdayListResize; CallService(MS_UTILS_RESIZEDIALOG, 0, (LPARAM) &urd); break; }