、クラス間変数値の転送
1371 ワード
一、親ウィンドウの変数または関数を取得する
ここでm_comboCtrlはサブウィンドウのコントロールです
必ず2行に分けて書いて、書かなければなりません.
注意:渡された値がNULLであるという問題が発生する場合があります.次の方法で解決します.
またはダイアログを直接渡す
二、クラス間の変数値の伝達
1,まず,CepeeWomenDlgで静的変数を宣言する
クラス名:
はい.CPPファイルでの初期化:
(初期化は、クラスの外部、すなわちグローバルで初期化する必要があります)
2、指定されたクラスで使用
三、VCが生成したアプリケーションファイルは、エラーが発生してはいけない場所で、エラーが発生する
「生成->クリーンアップソリューション」と「生成->クリーンアップEpeeWomen」で解決
CEpeeWomenDlg*newCpee=(CEpeeWomenDlg*)(m_comboCtrl.GetParent()->GetParent());
CString str=newCpee->m_importantStr;
ここでm_comboCtrlはサブウィンドウのコントロールです
必ず2行に分けて書いて、書かなければなりません.
CStringstr=(CEpeeWomenDlg*)(m_comboCtrl.GetParent()->GetParent())->m_importantStr;// , ( )
注意:渡された値がNULLであるという問題が発生する場合があります.次の方法で解決します.
Dlg2 dlg;
dlg.m_str2 = m_str1; // m_str1 m_str2,Dlg2::m_str2 EDIT1
dlg.DoModal();
またはダイアログを直接渡す
class CDialogA2;
class CDialogA1
{
....
public:
CDialogA2 *m_pA2;// CDialogA2
};
class CDialogA1;
class CDialogA2
{
....
public:
CDialogA1 *m_pA1;// CDialogA1
};
二、クラス間の変数値の伝達
1,まず,CepeeWomenDlgで静的変数を宣言する
クラス名:
static Cstring m_ importantStr;
はい.CPPファイルでの初期化:
CStringCEpeeWomenDlg::m_importantStr=_T("");
(初期化は、クラスの外部、すなわちグローバルで初期化する必要があります)
2、指定されたクラスで使用
str=CEpeeWomenDlg::m_importantStr;
三、VCが生成したアプリケーションファイルは、エラーが発生してはいけない場所で、エラーが発生する
「生成->クリーンアップソリューション」と「生成->クリーンアップEpeeWomen」で解決