// DlgValStrFixed.cpp : 实现文件 // #include "stdafx.h" #include "LaiPuLaser.h" #include "DlgValStrFixed.h" #include "afxdialogex.h" #include "ValStrFixed.h" // CDlgValStrFixed 对话框 IMPLEMENT_DYNAMIC(CDlgValStrFixed, CDlgValStrBase) BEGIN_MESSAGE_MAP(CDlgValStrFixed, CDlgValStrBase) ON_BN_CLICKED(IDOK,OnBnClickedOk) END_MESSAGE_MAP() CDlgValStrFixed::CDlgValStrFixed(CWnd* pParent /*=NULL*/) : CDlgValStrBase(CDlgValStrFixed::IDD,pParent) { m_pValStrFixed = NULL;//当前修改的 } CDlgValStrFixed::~CDlgValStrFixed() { } void CDlgValStrFixed::DoDataExchange(CDataExchange* pDX) { CDlgValStrBase::DoDataExchange(pDX); DDX_Text(pDX, IDC_VAL_STR_FIXED_EDIT, m_FixedStr); } void CDlgValStrFixed::DynamicCastStrBase() { m_pValStrFixed = dynamic_cast(m_pValStrBase); } BOOL CDlgValStrFixed::OnInitDialog() { CDlgValStrBase::OnInitDialog(); if(m_bAdd) { m_FixedStr = "TEXT"; } else if(m_pValStrFixed) { m_FixedStr = m_pValStrFixed->GetValStr(); } UpdateData(FALSE); return TRUE; } // CDlgValStrFixed 消息处理程序 void CDlgValStrFixed::OnBnClickedOk() { UpdateData(TRUE); if(m_bAdd)//添加 { if(m_FixedStr!="") { CValStrFixed *p = new CValStrFixed; p->SetValStr(m_FixedStr); m_pValString->AddValStr(p); } } else//修改 { if(m_pValStrFixed) { m_pValStrFixed->SetValStr(m_FixedStr); } } OnOK(); }