⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showdataview.cpp

📁 该软件是我读硕士的时候写的
💻 CPP
字号:
// ShowDataView.cpp : implementation file
//

#include "stdafx.h"
#include "process.h"
#include "ShowDataView.h"
#include "ProcessDoc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CShowDataView

IMPLEMENT_DYNCREATE(CShowDataView, CView)

CShowDataView::CShowDataView()
{
		m_ListCtrl.DefaultText="0.00";
		m_SHOWDATA=TRUE;
}

CShowDataView::~CShowDataView()
{
}


BEGIN_MESSAGE_MAP(CShowDataView, CView)
	//{{AFX_MSG_MAP(CShowDataView)
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CShowDataView drawing

void CShowDataView::OnInitialUpdate()
{
	CView::OnInitialUpdate();
	//   OnUpdate(NULL, 0, NULL);
	//
	//	CSize sizeTotal;
	//	// TODO: calculate the total size of this view
	//	sizeTotal.cx =200; 
	//    sizeTotal.cy = 80000;
	//	SetScrollSizes(MM_TEXT, sizeTotal);
	
	
	// TODO: Add your specialized code here and/or call the base class
	CRect ClientRect;
    GetClientRect (&ClientRect);
    //if(m_ListCtrl.m_hWnd)
	if (!m_ListCtrl.Create (WS_VISIBLE | LVS_REPORT | /*LVS_SINGLESEL | */ LVS_EDITLABELS, ClientRect, this, ID_LIST_VIEW))
		return;
    m_ListCtrl.SetExtendedStyle (LVS_EX_GRIDLINES);
	m_ListCtrl.InsertColumn(0,"No",LVCFMT_CENTER);
	CString	str="深度";
	m_ListCtrl.InsertColumn(1,str,LVCFMT_CENTER);
	str="曲线值";
	m_ListCtrl.InsertColumn(2,str,LVCFMT_CENTER);

	m_ListCtrl.SetColumnWidth(0,30);//ClientRect.Width()/2);
	m_ListCtrl.SetColumnWidth(1,(ClientRect.Width()-30)/2);
	m_ListCtrl.SetColumnWidth(2,(ClientRect.Width()-30)/2);
    m_ListCtrl.InsertItemEx (0);

}

void CShowDataView::OnDraw(CDC* pDC)
{
	CProcessDoc* pDoc = (CProcessDoc*)GetDocument();
	if(pDoc->m_SHOWDATAVIEW==TRUE)
	{
		
				CString	disp;
		if(pDoc->DataNum>0)	m_ListCtrl.DeleteAllItems();
				for(int i=0;i<pDoc->DataNum;i++)
				{	
					disp.Format("%d",i+1);
					m_ListCtrl.InsertItem(i,(LPCTSTR)disp);
					m_ListCtrl.SetItemText(i,0,(LPCTSTR)disp);
					disp.Format("%f",pDoc->DataDepth[i]);
					m_ListCtrl.SetItemText(i,1,(LPCTSTR)disp);
					disp.Format("%f",pDoc->DataData[i]);
					m_ListCtrl.SetItemText(i,2,(LPCTSTR)disp);
				}
		
	}pDoc->m_SHOWDATAVIEW=FALSE;
/*

    CProcessApp *app=(CProcessApp *)AfxGetApp();
	if(app->DRAWBPNN==TRUE)
	{		
		CString	disp;
		if(app->DataNum>0)	m_ListCtrl.DeleteAllItems();
		for(int i=0;i<app->DataNum;i++)
		{	
			disp.Format("%d",i+1);
			m_ListCtrl.InsertItem(i,(LPCTSTR)disp);
			m_ListCtrl.SetItemText(i,0,(LPCTSTR)disp);
			disp.Format("%f",pDoc->DataWaveletLow[i]);
			m_ListCtrl.SetItemText(i,1,(LPCTSTR)disp);
			disp.Format("%f",pDoc->DataWaveletHigh[i]);
			m_ListCtrl.SetItemText(i,2,(LPCTSTR)disp);
		}
		
	}*/

//	pDoc->UpdateAllViews(NULL);
//	app->DRAWBPNN=FALSE;

	
	/*
	 
    //设置字体!!!
	LOGFONT logFont;
	logFont.lfHeight=11;
	logFont.lfWeight=FW_BOLD;
	logFont.lfOrientation=0;
	logFont.lfEscapement=0;
	logFont.lfStrikeOut=0;
	logFont.lfUnderline=0;
	logFont.lfItalic=0;
	logFont.lfCharSet=GB2312_CHARSET;
	logFont.lfOutPrecision=OUT_DEFAULT_PRECIS;
	logFont.lfClipPrecision=CLIP_DEFAULT_PRECIS;
	logFont.lfQuality=DEFAULT_QUALITY;
	logFont.lfPitchAndFamily=DEFAULT_PITCH|FF_ROMAN;
	strcpy(logFont.lfFaceName,"The Times Roman");
	
	CFont font;
	font.CreateFontIndirect(&logFont);
	CFont* oldFont=pDC->SelectObject(&font);
/ *
	
	CRect Rect;
	GetClientRect(&Rect);
	pDC->SetTextColor(RGB(255,0,0));
	pDC->DrawText("线程同步--使用互斥",Rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
* /		
	int i,j,nHeight;
	TEXTMETRIC tm;
	CString str1,str2,str;
   	
	pDC->TextOut( 20,0,"井深---------数据");

	pDC->GetTextMetrics(&tm);
	nHeight=tm.tmHeight+tm.tmExternalLeading-2;

	j=pDoc->DataNum;
 
	for(i=0;i<j;i++)
	{
		//CString ss;
		str1.Format("%f  ",pDoc->DataDepth[i]);
		str2.Format("%f",pDoc->DataData[i]);
		str=str1+str2;
		pDC->TextOut( 0,10+i*nHeight,str);
	}
	
	pDC->SelectObject(oldFont);*/

}

/////////////////////////////////////////////////////////////////////////////
// CShowDataView diagnostics

#ifdef _DEBUG
void CShowDataView::AssertValid() const
{
	CView::AssertValid();
}

void CShowDataView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CShowDataView message handlers

void CShowDataView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);

	CView::OnInitialUpdate();
	CRect ClientRect;
	GetClientRect (&ClientRect);
	if(m_ListCtrl.m_hWnd)
	{
		m_ListCtrl.SetColumnWidth(0,30);//ClientRect.Width()/2);
		m_ListCtrl.SetColumnWidth(1,(ClientRect.Width()-30)/2);
		m_ListCtrl.SetColumnWidth(2,(ClientRect.Width()-30)/2);
		m_ListCtrl.Resize(cx,cy);
	}
	
}

CProcessDoc * CShowDataView::GetDocument()
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CProcessDoc)));
	return (CProcessDoc*)m_pDocument;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -