#include "stdafx.h" #include "BHXGDlg.h" #include "KKSCodeSetDlg.h" #ifndef ID_OBJLIST #define ID_OBJLIST 341 #endif #ifndef WM_ITEM_SEL #define WM_ITEM_SEL (WM_USER+0x105) #endif IMPLEMENT_DYNAMIC(CBHXGDlg, CDialog) CBHXGDlg::CBHXGDlg(CWnd* pParent /*=NULL*/) : CDialog(CBHXGDlg::IDD, pParent) { } CBHXGDlg::~CBHXGDlg() { } void CBHXGDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST2, m_wndDXFList); } BEGIN_MESSAGE_MAP(CBHXGDlg, CDialog) ON_BN_CLICKED(IDOK, &CBHXGDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON1, &CBHXGDlg::OnBnClickedButton1) ON_BN_CLICKED(IDCANCEL, &CBHXGDlg::OnBnClickedCancel) END_MESSAGE_MAP() void CBHXGDlg::OnBnClickedOk() { } //编号规则 void CBHXGDlg::OnBnClickedButton1() { POSITION ps = m_wndDXFList.GetFirstSelectedItemPosition(); if (ps != NULL) { int nItem = m_wndDXFList.GetNextSelectedItem(ps); if (nItem != -1) { CString sDxf = m_wndDXFList.GetItemText(nItem,1); CString sName = m_wndDXFList.GetItemText(nItem,0); CKKSCodeSetDlg dlg; dlg.SetDxfName(sDxf,sName); dlg.DoModal(); } } } void CBHXGDlg::OnBnClickedCancel() { SaveLocalData(); EndDialog(IDCANCEL); } BOOL CBHXGDlg::OnInitDialog() { CDialog::OnInitDialog(); CBitmap bmp; if (!bmp.LoadBitmap (IDB_BITMAPPRIV)) { AfxMessageBox(_T("Can't load bitmap: %x\n"), IDB_BITMAPPRIV); ASSERT (FALSE); return FALSE; } BITMAP bmpObj; bmp.GetBitmap (&bmpObj); UINT nFlags = ILC_COLOR24 | ILC_MASK; m_imageList.Create (16, bmpObj.bmHeight, nFlags, 0, 0); m_imageList.Add (&bmp, RGB (255, 0, 0)); m_wndDXFList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW); m_wndDXFList.InsertColumn(0,_T("名称"),LVCFMT_LEFT,120); m_wndDXFList.InsertColumn(1,_T("DXF"),LVCFMT_LEFT,160); m_wndDXFList.InsertColumn(2,_T("编号规则"),LVCFMT_LEFT,160); m_wndDXFList.SetImageList(&m_imageList,LVSIL_SMALL); LoadLocalData(); if (m_wndDXFList.GetItemCount() == 0) { ShowDXFList(); } return TRUE; } void CBHXGDlg::ShowDXFList() { //例 m_wndDXFList.InsertItem(0,_T("墙体"),1); m_wndDXFList.SetItemText(0,1,_T("AEC_DBWALL")); m_wndDXFList.InsertItem(1,_T("板"),1); m_wndDXFList.SetItemText(1,1,_T("AEC_DBSLAB")); m_wndDXFList.InsertItem(2,_T("柱"),1); m_wndDXFList.SetItemText(2,1,_T("AEC_DBCOLMN")); m_wndDXFList.InsertItem(3,_T("梁"),1); m_wndDXFList.SetItemText(3,1,_T("AEC_DBBEAM")); m_wndDXFList.InsertItem(4,_T("洞口"),1); m_wndDXFList.SetItemText(4,1,_T("AEC_X3DPART")); m_wndDXFList.InsertItem(5,_T("基础"),1); m_wndDXFList.SetItemText(5,1,_T("AEC_X3DPART")); } BOOL CBHXGDlg::LoadLocalData() { CString sFileName,sLocalFile; sFileName = _T("NAMEDXF.lst"); m_wndDXFList.DeleteAllItems(); CString sName,sDxf,sLn; sLocalFile = FilePath::GetSysDir() + sFileName; CStdioFile file2; if (file2.Open(sLocalFile,CFile::modeRead | CFile::typeText)) { int nPos = -1,nItem = -1; while(file2.ReadString(sLn)) { sLn.TrimRight(_T('\n')); nPos = sLn.ReverseFind(_T('@')); if (nPos != -1) { sName = sLn.Mid(0,nPos); sDxf = sLn.Mid(nPos+1); nItem = m_wndDXFList.InsertItem(m_wndDXFList.GetItemCount(),sName); m_wndDXFList.SetItemText(nItem,1,sDxf); } } file2.Close(); } return TRUE; } void CBHXGDlg::SaveLocalData() { } void CBHXGDlg::ShowAllEntities() { }