...... .if eax = WM_INITDIALOG mov eax,[hWnd] invoke GetDlgItem,[hWnd],IDB_EXIT mov [hDlgItems],eax ....... .elseif eax = WM_SIZE invoke GetClientRect,[hDlgItems],TRect mov eax,[TRect.right] mov ecx,[TRect.left] mov [Pt.x],ecx sub eax,ecx mov [TRect.right],eax mov eax,[TRect.bottom] mov ecx,[TRect.top] mov [Pt.y],ecx sub eax,ecx mov [TRect.bottom],eax invoke ScreenToClient,[hWnd],Pt mov eax,[Pt.x] mov [TRect.left],eax mov eax,[Pt.y] mov [TRect.top],eax invoke MoveWindow,[hDlgItems],[TRect.left],[TRect.top],[TRect.right],[TRect.bottom],TRUE ....... Вот такое вот творение ... Ошибся где то ?
Ну так она и не будет ездить. Ты же спрашивал, как узнать текущие координаты кнопки. После этого надо скорректировать TRect.left и TRect.top. Код (Text): // получаем текущие координаты кнопки ... // Кнопка будет в правом нижнем углу. // Между кнопкой и границей окна промежуток в 7 пикселей TRect.left = DialogWidth - TRect.right - 7; TRect.top = DialogHeight - TRect.bottom - 7; MoveWindow(hDlgItems, TRect.left, TRect.top, TRect.right, TRect.bottom, TRUE);