DDXテクノロジは、リソースをクラスメンバー(たとえば)とリンクするために作成されました。私のソリューションでは、myCCtreeCtrl(CCtreeCtrlのインスタント)がクラスメンバーCCtreeCtrlのリソースに存在しない間の接続を確立する必要があります。これで、リソースにCTreeCtrlがあり、doDataExchangeを単純化します。
#define IDC_TREE_LAYER0 2000
#define IDC_TREE_LAYER1 2001
#define IDC_TREE_LAYER2 2002
// ============================================================================
void ForcesGUI::doDataExchange( int id0, int id1, int id2, CDataExchange* pDX )
// ============================================================================
{
DDX_Control(pDX, id0, m_tree[0].data);
DDX_Control(pDX, id1, m_tree[1].data);
DDX_Control(pDX, id2, m_tree[2].data);
}
ただし、将来的には、リソースからCCtreeCtrlを削除してインスタンスを作成する必要があります。
なぜリソースから削除する必要があるのかと聞かれます。
答えは次のとおりです。プロジェクトでは、3つのCCtreeCtrlがあり、それぞれが独自のバーにあります。それらの間に違いはありません。そのため、冗長性の代わりに、1つのツリーを持つ1つのバークラスを使用したいと思います。バーの3つのインスタンスを作成した後、ここで機能しないDDXの問題が表示されます。
基本的なDDXをどのように置き換えることができるか考えていますか?WinAPIか何か他のものになるかもしれません。とにかく助けてくれてありがとう。