【C/C++】引数ありコンストラクタの呼び出し
MFCアプリで、引数呼びしたのをダイアログの方に渡したかった。
-------AppDlg.cpp-----------------------
//(色々略)
CAppDlg::CAppDlg(const CString FilePath, CWnd* pParent /*=NULL*/)
: CDialogEx(IDD_APP_DIALOG, pParent)
, m_FilePath(_T(""))
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_FilePath = FilePath;
}
void CAppDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_PATH_EDIT, m_FilePath);
}
-------AppDlg.h-------------------------
class CAppDlg : public CDialogEx
{
// コンストラクション
public:
CAppDlg(const CString FilePath, const CString OriginalFilePath, CWnd* pParent = nullptr);
// ダイアログ データ
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_App_DIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV サポート
// 実装(略)
private:
CString m_FilePath;
};
-------App.cpp-------------------------
CAppDlg dlg(__targv[0], __targv[2]);
m_pMainWnd = &dlg;
dlg.DoModal();
-------------------------------------------
オーバーライドって便利\(^o^)/