「MFCコントロール - 動的配置」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「== CEditの動的配置 == <source lang="c++"> void CxxxxDlg::OnButton1Clicked() { RECT r; r.top = 10; // 上の座標 r.bottom = 30; // 下の座標…」) |
細 (Wiki がページ「コントロールの動的配置(MFC)」を「MFCコントロール - 動的配置」に、リダイレクトを残さずに移動しました) |
(相違点なし)
|
2021年1月29日 (金) 16:01時点における版
CEditの動的配置
void CxxxxDlg::OnButton1Clicked()
{
RECT r;
r.top = 10; // 上の座標
r.bottom = 30; // 下の座標
r.left = 10; // 左の座標
r.right = 100; // 右の座標
// RECT r = {10, 30, 10, 100};
CEdit* pEdit = new CEdit();
pEdit->Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP, r, this, WM_APP + 1);
pEdit->ModifyStyleEx(0, WS_EX_CLIENTEDGE, SWP_DRAWFRAME);
// pEdit->DestroyWindow(); // オブジェクトの破棄
}
void CxxxxDlg::OnButton2Clicked()
{
GetDlgItem(WM_APP + 1)->SetWindowText(_T("hoge"));
// GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄
}
CStaticの動的配置
void CxxxxDlg::OnButton3Clicked()
{
RECT r;
r.top = 10; // 上の座標
r.bottom = 30; // 下の座標
r.left = 10; // 左の座標
r.right = 100; // 右の座標
// RECT r = {10, 30, 10, 100};
CStatic* pStatic = new CStatic();
pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2);
}
CEditの派生クラスの作成と動的配置
class CEditEx : public CEdit
{
public:
void TestFunc()
{
SetWindowText(_T("hoge"));
}
// (以下略)
};
void CxxxxDlg::OnButton4Clicked()
{
RECT r;
r.top = 10; // 上の座標
r.bottom = 30; // 下の座標
r.left = 10; // 左の座標
r.right = 100; // 右の座標
// RECT r = {10, 30, 10, 100};
CEditEx *pEditEx = new CEditEx();
pEdit->Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP, r, this, WM_APP + 1);
pEdit->ModifyStyleEx(0, WS_EX_CLIENTEDGE, SWP_DRAWFRAME);
pEditEx->TestFunc();
// pEditEx->DestroyWindow(); // オブジェクトの破棄
}