在对话框的Onsize()中加入如下代码,实现当对话框改变大小后,按钮IDC_BUTTON1左上角坐标(cx/2,cy/2),宽cx/10,高cy/10(cx,cy:对话框新的大小)
void CTestMoveControlInWindowDlg::OnSize(UINT nType, int cx, int cy)
{
CWnd *pWnd=GetDlgItem(IDC_BUTTON1);
pWnd->GetClientRect(rect);
::MoveWindow(pWnd->m_hWnd,cx/2,cy/2,cx/10,cy/10,TRUE);
}
void CTestMoveControlInWindowDlg::OnSize(UINT nType, int cx, int cy)
{
CWnd *pWnd=GetDlgItem(IDC_BUTTON1);
pWnd->GetClientRect(rect);
::MoveWindow(pWnd->m_hWnd,cx/2,cy/2,cx/10,cy/10,TRUE);
}
thk u。但是我需要的是sdk。
要出错.必须保证第一次OnSize()代码不被执行,如下改正:
void CTestMoveControlInWindowDlg::OnSize(UINT nType, int cx, int cy)
{
static int n=0;
if (n)
{
CWnd *pWnd=GetDlgItem(IDC_BUTTON1);
::MoveWindow(pWnd->m_hWnd,cx/2,cy/2,cx/10,cy/10,TRUE);
}
n++;
}
case WM_SIZE:
cx = LOWORD(lParam);
cy = HIWORD(wParam);
MoveWindow(hwndchild,cx/2,cy/2,cx/10,cy/10,TRUE);
return 0;
hwndchild为子窗口句柄
那么对button上面字体的改变呢?