|
CEdit エディットボックスを縦方向にセンタリングする |
|
BOOL CFooDlg::OnInitDialog() { CDialog::OnInitDialog(); // エディットボックスを縦方向にセンタリングする // ※ マルチラインエディットボックスのみ適用可能 // エディットボックスのポインタを得る CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); // 各種範囲を取得する CRect rcClient, rcText; pEdit->GetClientRect(&rcClient); // クライアント範囲 pEdit->GetRect(&rcText); // テキストに外接する範囲 // 上下方向の隙間のサイズを取得する int nGapY = (rcClient.Height() - rcText.Height() + 1) / 2; // 隙間分 Y 方向を下にずらしたテキスト範囲に変更する rcText.MoveToY(nGapY); pEdit->SetRect(&rcText); return TRUE; } |