// LineDesign.cpp : 实现文件 // #include "stdafx.h" #include "GISDlg.h" #include "LineDesign.h" #include "afxdialogex.h" // CLineDesign 对话框 IMPLEMENT_DYNAMIC(CLineDesign, CDialog) CLineDesign::CLineDesign(CWnd* pParent /*=NULL*/) : CDialog(CLineDesign::IDD, pParent) { } CLineDesign::~CLineDesign() { } void CLineDesign::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST_LINE, m_list); } BEGIN_MESSAGE_MAP(CLineDesign, CDialog) ON_WM_NOTIFYFORMAT(NM_RCLICK, IDC_LIST_LINE, OnRclickList) END_MESSAGE_MAP() // CLineDesign 消息处理程序 BOOL CLineDesign::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 //获取当前的扩展形式 DWORD dwstyle = m_list.GetExtendedStyle(); //选中某行使整行高亮(report风格) dwstyle = LVS_EX_FULLROWSELECT; //网格线(report风格) dwstyle |= LVS_EX_GRIDLINES; //单击激活 dwstyle |= LVS_EX_ONECLICKACTIVATE; //在item之前产生checkout控件 dwstyle |= LVS_EX_CHECKBOXES; m_list.SetExtendedStyle(dwstyle); CRect rect; m_list.GetWindowRect(&rect); int listwidth = rect.Width(); m_list.InsertColumn(0,"航线号",LVCFMT_CENTER,listwidth/12,-1); m_list.InsertColumn(1,"航点号",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(2,"经度",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(3,"纬度",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(4,"高度",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(5,"速度",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(6,"任务特征字",LVCFMT_CENTER,listwidth/8,-1); m_list.InsertColumn(7,"航路特征字",LVCFMT_CENTER,listwidth/7,-1); for (int i=0; i < 40; i++) { CString tstr; tstr.Format("%d",i); m_list.InsertItem(i,tstr); } return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } //在表格里显示经纬度坐标 void CLineDesign::ShowLonLat(double lon, double lat) { CString str; str.Format("%.6f", lon); m_list.SetItemText(0, 2, str); str.Format("%.6f", lat); m_list.SetItemText(0, 3, str); UpdateData(FALSE); } // void CLineDesign::InsertPt(tmpPT pData) // { // CString tstr; // m_nowPt = pData.pt_id; // // tstr.Format("%d",m_nowPt); // m_list.SetItemText(m_nowPt, 1, tstr); // // tstr.Format("%.6f", pData.pt_Lon); // m_list.SetItemText(m_nowPt, 2, tstr); // // tstr.Format("%.6f", pData.pt_Lat); // m_list.SetItemText(m_nowPt, 3, tstr); // } void CLineDesign::InsertPt(PtStruct pData) { CString tstr; m_nowPt = pData.nPt; tstr.Format("%d",m_nowPt); m_list.SetItemText(m_nowPt, 1, tstr); tstr.Format("%.6f", pData.dX); m_list.SetItemText(m_nowPt, 2, tstr); tstr.Format("%.6f", pData.dY); m_list.SetItemText(m_nowPt, 3, tstr); tstr.Format("%.6f", pData.nH); m_list.SetItemText(m_nowPt, 4, tstr); tstr.Format("%.6f", pData.nV); m_list.SetItemText(m_nowPt, 5, tstr); tstr.Format("0x%02x", pData.ch1); m_list.SetItemText(m_nowPt, 6, tstr); tstr.Format("0x%02x", pData.ch2); m_list.SetItemText(m_nowPt, 7, tstr); } UINT CLineDesign::OnNotifyFormat(CWnd *pWnd, UINT nCommand) { // TODO: 在此添加消息处理程序代码和/或调用默认值 return CDialog::OnNotifyFormat(pWnd, nCommand); } //BOOL CLineDesign::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) //{ // // TODO: 在此添加专用代码和/或调用基类 // // return CDialog::OnNotify(wParam, lParam, pResult); //}