128 lines
2.5 KiB
C++
128 lines
2.5 KiB
C++
#include "stdafx.h"
|
|
#include "CQJBZDlg.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CQJBZDlg, CDialog)
|
|
|
|
CQJBZDlg::CQJBZDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(IDD_QJBZ_DLG, pParent)
|
|
{
|
|
}
|
|
|
|
CQJBZDlg::~CQJBZDlg()
|
|
{
|
|
}
|
|
|
|
void CQJBZDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_LIST1, m_wndList);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CQJBZDlg, CDialog)
|
|
ON_MESSAGE(WM_ACAD_KEEPFOCUS, &CQJBZDlg::onAcadKeepFocus)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CQJBZDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDC_BUTTON3, &CQJBZDlg::OnBnClickedButton3)
|
|
END_MESSAGE_MAP()
|
|
|
|
LONG_PTR CQJBZDlg::onAcadKeepFocus(UINT_PTR, LONG_PTR)
|
|
{
|
|
POINT pt;
|
|
::GetCursorPos(&pt);
|
|
CRect rect;
|
|
GetWindowRect(&rect);
|
|
if (!(rect.PtInRect(pt)))
|
|
{
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
BOOL CQJBZDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_ImageList.Create(IDB_BITMAPI, 1, 1, ILC_COLOR16);
|
|
m_wndList.SetImageList(&m_ImageList, LVSIL_SMALL);
|
|
m_wndList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
|
|
|
|
m_wndList.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 120);
|
|
m_wndList.InsertColumn(1, _T("标注文本"), LVCFMT_LEFT, 200);
|
|
|
|
m_wndList.SetColumnItemData(1, NULL, ET_Edit);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CQJBZDlg::AppendDimTxt(LPCTSTR pszDimTxt)
|
|
{
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
int nItem = m_wndList.GetItemCount();
|
|
CString sNo;
|
|
sNo.Format(_T("%d"),nItem+1);
|
|
|
|
m_wndList.InsertItem(nItem,sNo,0);
|
|
m_wndList.SetItemText(nItem, 1, pszDimTxt);
|
|
}
|
|
}
|
|
|
|
void CQJBZDlg::RemoveAllDimTxt()
|
|
{
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
m_wndList.DeleteAllItems();
|
|
}
|
|
}
|
|
|
|
void CQJBZDlg::GetDimTxts(CStringArray& arDimTxt) const
|
|
{
|
|
if (::IsWindow(m_hWnd))
|
|
{
|
|
for (int i = 0;i < m_wndList.GetItemCount();i++)
|
|
{
|
|
arDimTxt.Add(m_wndList.GetItemText(i, 1));
|
|
}
|
|
}
|
|
}
|
|
|
|
void CQJBZDlg::OnBnClickedButton1()
|
|
{
|
|
int nCount = m_wndList.GetItemCount();
|
|
if (nCount == 0)
|
|
{
|
|
AfxMessageBox(_T("没有桥架标注文字参照!无法增加一行!"));
|
|
return;
|
|
}
|
|
|
|
CString sDim = m_wndList.GetItemText(nCount-1, 1);
|
|
|
|
CString sNo;
|
|
sNo.Format(_T("%d"), nCount + 1);
|
|
|
|
m_wndList.InsertItem(nCount, sNo, 0);
|
|
m_wndList.SetItemText(nCount, 1, sDim);
|
|
|
|
m_wndList.SetItemState(nCount, LVIS_SELECTED, LVIS_SELECTED);
|
|
}
|
|
|
|
void CQJBZDlg::OnBnClickedButton3()
|
|
{
|
|
POSITION ps = m_wndList.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndList.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
m_wndList.DeleteItem(nItem);
|
|
}
|
|
|
|
//重新排序
|
|
for (int i = 0; i < m_wndList.GetItemCount(); i++)
|
|
{
|
|
CString sNo;
|
|
sNo.Format(_T("%d"), i + 1);
|
|
m_wndList.SetItemText(i, 0, sNo);
|
|
}
|
|
}
|
|
}
|