listoper.cpp

来自「本程序是用C语言实现的实现fft快速算法」· C++ 代码 · 共 89 行

CPP
89
字号
#include "StdAfx.h"
#include ".\listoper.h"

CListOper::CListOper(void)
{
}

CListOper::~CListOper(void)
{
}

void CListOper::FillList(CListCtrl &ListCtrl1,int N,COMP x[],COMP w[])
{
      ListCtrl1.Invalidate(true);
	  this->ClearList(ListCtrl1);
	  this->FillColumn(ListCtrl1,N);
	  this->FillContent(ListCtrl1,N,x,w);
	  ListCtrl1.Invalidate(false);
}

void CListOper::FillList(CListCtrl &ListCtrl1,int N,COMP Hn[])
{
      ListCtrl1.Invalidate(true);
	  this->ClearList(ListCtrl1);
	  this->FillColumn(ListCtrl1,N);
	  this->FillContent(ListCtrl1,N,Hn);
	  ListCtrl1.Invalidate(false);
}

void CListOper::ClearList(CListCtrl &ListCtrl1)
{
	 ListCtrl1.DeleteAllItems ();
	
	int nColumnCount = ListCtrl1.GetHeaderCtrl()->GetItemCount();
	// Delete all of the columns.
	for (int i=0;i < nColumnCount;i++)
	{
		ListCtrl1.DeleteColumn (0);
	}
  
}
void CListOper::FillColumn(CListCtrl &ListCtrl1,int N)
{
	CString s;
	for(int i=0;i<N+1;i++)
	{
		if(i==0)
			s = "Sequence";
		else
		    s.Format("%d",i-1);
		ListCtrl1.InsertColumn(i,s,LVCFMT_CENTER,100);
	}
   
}

void CListOper::FillContent(CListCtrl &ListCtrl1,int N,COMP x[],COMP w[])
{
	int nItem = 0;
	CString s;

	nItem=ListCtrl1.InsertItem(0xFFFF,"x(n)"); //fisrt value
	for(int i=1;i<N+1;i++)  //next all value
	{
		s.Format("%.3f%+.3fi",x[i-1].real(),x[i-1].imag());
		ListCtrl1.SetItem(nItem,i,1,s,NULL,0,0,0);
	}

	nItem=ListCtrl1.InsertItem(0xFFFF,"X(K)"); //fisrt value
	for(int i=1;i<N+1;i++)  //next all value
	{
		s.Format("%.3f%+.3fi",w[i-1].real(),w[i-1].imag());
		ListCtrl1.SetItem(nItem,i,1,s,NULL,0,0,0);
	}
}

void CListOper::FillContent(CListCtrl &ListCtrl1,int N,COMP Hn[])
{
	int nItem = 0;
	CString s;

	nItem=ListCtrl1.InsertItem(0xFFFF,"H(n)"); //fisrt value
	for(int i=1;i<N+1;i++)  //next all value
	{
		s.Format("%.3f%+.3fi",Hn[i-1].real(),Hn[i-1].imag());
		ListCtrl1.SetItem(nItem,i,1,s,NULL,0,0,0);
	}


}

⌨️ 快捷键说明

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