#pragma once #include "ValString.h" #include "GlobalDefine.h" #include "ObjTxt.h" #include "afxwin.h" #include "ObjString.h" #include "EnumValStrType.h" #include "DlgPane.h" // CDlgVariableString 对话框 class CDlgValStrBase; class CDlgVariableString : public CDlgPane { DECLARE_DYNAMIC(CDlgVariableString) public: CDlgVariableString(CWnd* pParent = NULL); // 标准构造函数 virtual ~CDlgVariableString(); virtual UINT GetIDD(){return CDlgVariableString::IDD;}; void RefreshValStrList(); void BindingObjString(CObjString *p); void UnBindingObj(); // 对话框数据 enum { IDD = IDD_VARIABLE_STRING_DLG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 afx_msg BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: afx_msg void OnBnClickedAddValStrBtn(); afx_msg void OnBnClickedDelValStrBtn(); afx_msg void OnBnClickedUpValStrBtn(); afx_msg void OnBnClickedDownValStrBtn(); afx_msg void OnNMClickValStrList(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedModifValStrBtn(); afx_msg void OnBnClickedFontBtn(); afx_msg void OnBnClickedValStrCheck(); afx_msg void OnBnClickedCommitBtn(); afx_msg void OnCbnFontNameChange(); afx_msg void OnCbnFontTypeChange(); private: void IniValStrList(); void IniValStrTypeComb(); void IniFontStyleComb(); int GetCurListIdx(CListCtrl &list); CDlgValStrBase *DlgValStrFactory(VAL_STR_TYPR type); bool AddOrModifValStr(bool bAdd); void SwapValStr(int NewIdx); bool Check(); void RefreshControlVal(); void EnableValStrCtr(bool bEnable); void IniCtrVal(); void UpdateBindingObjVal(); void AddOrModif(bool b); void CreatObjUseNewPar(); private: CObjString *m_pObjString;//当前操作对象的指针 CValString m_ValString;//当前设置的可变文本 //控件相关------------------------------------------------------------ CString m_String;//文本内容 CListCtrl m_ValStrList;//可变文本列表 CComboBox m_ValStrTypeComb;//可变字符类型下拉框 CComboBox m_FontTypeComb;//字库类型下拉框 CComboBox m_FontNameComb;//字库名下拉框 int m_CurSelListIdx;//可变文本列表当前选择的行号 bool m_bValStr;//是否为可变文本 CButton m_bValStrCheck;//是否为可变文本 public: afx_msg void OnBnClickedFillBtn(); };