mfc ダイアログのリストまたはコントロール コンテナーについて質問しています。この質問のようなダイアログの子ウィンドウをリストすることを意味するのではありませんMFC子ダイアログ、MDIFramesなどをループします。必要なのは、DDX_Controlメソッドが適用されるダイアログクラスの変数として定義されたコントロールのリストです。
ダイアログで定義されたすべての制御変数のリストが必要です
mfc ダイアログのリストまたはコントロール コンテナーについて質問しています。この質問のようなダイアログの子ウィンドウをリストすることを意味するのではありませんMFC子ダイアログ、MDIFramesなどをループします。必要なのは、DDX_Controlメソッドが適用されるダイアログクラスの変数として定義されたコントロールのリストです。
ダイアログで定義されたすべての制御変数のリストが必要です
私が知っているものはありませんが、コントロール リソース ID を DoDataExchange ブロックからゼロ ターミネータを持つ配列にコピーできます。
const UINT myControls[] =
{
IDC_EDIT1, IDC_EDIT2, IDC_EDIT3,
IDC_BUTTON1, IDC_BUTTON2, IDC_BUTTON3,
IDC_STATIC1, IDC_STATIC2, IDC_STATIC3,
0
};
次に、この配列を使用して、必要に応じてコントロールを反復処理できます。
for (const UINT* p = myControls; *p; ++p)
{
CWnd *wnd = GetDlgItem(*p);
...
}
動的な解決策ではありませんが、十分に単純です。