MFCコントロール - 動的配置
ナビゲーションに移動
検索に移動
CEditの動的配置
<syntaxhighlight lang="c++"> 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(); // オブジェクトの破棄 } </source>
CStaticの動的配置
<syntaxhighlight lang="c++"> 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); } </source>
CEditの派生クラスの作成と動的配置
<syntaxhighlight lang="c++"> 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(); // オブジェクトの破棄 } </source>