164 lines
3.3 KiB
C++
164 lines
3.3 KiB
C++
#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()
|
|
{
|
|
|
|
} |