


case WM_NCCALCSIZE
if wparam Then
ncsp--> lparam
GetWindowRect HWND,rc
rc.right -= rc.left
pnccs->rgrc[0].right-=rc.right
MoveWindow HWND,pnccs->rgrc[0].right, pnccs->rgrc[0].top,rc.right, pnccs->rgrc[0].bottom - pnccs->rgrc[0].top, TRUE
End if
break
case WM_NCHITTEST
if (lResult == HTNOWHERE) Then
GetWindowRect HWND,rc)
POINTSTOPOINT(pt, lParam)
if(PtInRect(rc,pt)) Then
lResult = HTTRANSPARENT
End if
break --> Exit Function
case WM_MOVE
SetWindowPos hWnd, nullptr, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED
break --> Exit Function
The button's width has to to be correct, the height gets adjusted afterwards. When handling WM_INITDIALOG,
:call a single function
;(EmbedButton(hWndEdit, hWndButton
BOOL EmbedButton(HWND hWndEdit, HWND hWndButton) noexcept
}
if(!SetWindowSubclass(hWndEdit, EmbedButton_SubclassProc,
,reinterpret_cast<UINT_PTR>(hWndButton)
((((reinterpret_cast<DWORD_PTR>(hWndButton
return(FALSE); // Enforce WM_NCCALCSIZE
return(SetWindowPos(hWndEdit, nullptr, 0, 0, 0, 0
| SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER,
;((SWP_FRAMECHANGED
{