「MFCコントロール - 動的配置」の版間の差分
ナビゲーションに移動
検索に移動
細 (Wiki がページ「コントロールの動的配置(MFC)」を「MFCコントロール - 動的配置」に、リダイレクトを残さずに移動しました) |
細 (文字列「</source>」を「</syntaxhighlight>」に置換) |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
== CEditの動的配置 == | == CEditの動的配置 == | ||
< | <syntaxhighlight lang="c++"> | ||
void CxxxxDlg::OnButton1Clicked() | void CxxxxDlg::OnButton1Clicked() | ||
{ | { | ||
21行目: | 21行目: | ||
// GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄 | // GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄 | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
== CStaticの動的配置 == | == CStaticの動的配置 == | ||
< | <syntaxhighlight lang="c++"> | ||
void CxxxxDlg::OnButton3Clicked() | void CxxxxDlg::OnButton3Clicked() | ||
{ | { | ||
38行目: | 38行目: | ||
pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2); | pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2); | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
== CEditの派生クラスの作成と動的配置 == | == CEditの派生クラスの作成と動的配置 == | ||
< | <syntaxhighlight lang="c++"> | ||
class CEditEx : public CEdit | class CEditEx : public CEdit | ||
{ | { | ||
72行目: | 72行目: | ||
// pEditEx->DestroyWindow(); // オブジェクトの破棄 | // pEditEx->DestroyWindow(); // オブジェクトの破棄 | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:MFC]] | [[カテゴリ:MFC]] |
2021年11月24日 (水) 18:06時点における最新版
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(); // オブジェクトの破棄
}