You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TwoLaserHead-PushJig/LaiPuLaser/DlgVariableString.h

79 lines
2.4 KiB
C++

#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();
};