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

📄 consoledemodlg.cpp

📁 网络通信模块。开发包的使用者需要自行承担使用本开发包的风险
💻 CPP
字号:
// consoleDemoDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "consoleDemo.h"
#include "consoleDemoDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CconsoleDemoDlg 对话框



CconsoleDemoDlg::CconsoleDemoDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CconsoleDemoDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CconsoleDemoDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CconsoleDemoDlg, CDialog)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_WM_TIMER()
	ON_WM_SIZE()
END_MESSAGE_MAP()


// CconsoleDemoDlg 消息处理程序

BOOL CconsoleDemoDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
	//  执行此操作
	SetIcon(m_hIcon, TRUE);			// 设置大图标
	SetIcon(m_hIcon, FALSE);		// 设置小图标

	// TODO:在此添加额外的初始化代码
	m_wndPopup.CreateAppWnd(WS_VISIBLE,"popup",CRect(0,0,280,210),
							4,120,30,9);
	CRect rcClient;
	GetClientRect(rcClient);
	m_wndChild.CreateChildWnd(WS_VISIBLE,this,"child",rcClient,10011,
							4,120,60,40);

	m_cP.SetBufferWnd(&m_wndPopup);
	for(int x=0;x<30;x++)
	{
		m_cP.GetXY(x,0)='-';
		m_cP.GetXY(x,8)='-';
	}
	for(int y=0;y<9;y++)
	{
		m_cP.GetXY(0,y)='|';
		m_cP.GetXY(29,y)='|';
	}

	m_cC.SetBufferWnd(&m_wndChild);
	SetTimer(1,2000,NULL);
	SetTimer(2,1000,NULL);
	//m_cC.printfX("%s","在此处可以找到有关使用文档集、联系产品支持和辅助功能的信息\n\r");
	return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。

void CconsoleDemoDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 用于绘制的设备上下文

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 使图标在工作矩形中居中
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 绘制图标
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CconsoleDemoDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CconsoleDemoDlg::OnTimer(UINT nIDEvent)
{
	static char szLines[][200]={
"有关\n\r新功能、Visual Studio .NET 的高级概述、.NET 框架以及入门提示的信息",
"在此处可以找到有关使用文档集、联系产品支持和辅助功能的信息\n\r",
"本节内容\t查找自述文件",
"有关在何处查找自述文件的信息。\n\r自述文件包含产品的最新信息。",
"为残疾人士提供的辅助功能",
"有关可用的辅助功能和工具的信息。\n\r",
"在 Visual Studio .NET 中使用帮助",
"有关文档约定以及在文档集内查找信息的策略。",
"产品支持",
"有关版权信息、产品支持、辅助功能和自述文件的信息。",
"相关章节",
"介绍 Visual Studio .NET",
"有关新功能、Visual Studio .NET 的高级概述、.NET 框架以及入门提示的信息",
"示例和演练",
"有关如何创建胖客户端应用程序、Web 窗体应用程序与创建和访问 Web 服务的信息,以及有关示例应用程序 Fitch and Mather 和 Duwamish 的信息。",
"使用 Visual Studio .NET 进行开发",
"有关用来设计、开发、调试和部署应用程序的共享工具的信息。\n\r",
"Microsoft Visual Basic、Microsoft C++ 和 Microsoft JScript 均已更新,",
"以满足用户的开发需要。另外还引入了一种新语言 Microsoft C#。这些语言利用了 .NET 框架的功能,此框架提供了对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。"
	};
	static int iCnt=0;
	static char cSingal[]="-\\|/*";
	static int iCnt2=0;
	if(nIDEvent ==1)
	{
		int iTotal = sizeof(szLines)/200;
		m_cC.printfX("%s",szLines[iCnt++%iTotal]);
//		for(int i=0;i<13;i++)
//		{
//			m_cC.printfX("%d.%d\n\r",iCnt++,i);
//		}
	}
	if(nIDEvent == 2)
	{
		m_cP.GetXY(5,5)= cSingal[iCnt2 % 5];
		m_cP.GetXY(8,3)= cSingal[(iCnt2+2)% 5];
		m_cP.GetXY(9,7)= cSingal[(iCnt2 +4) % 5];
		iCnt2++;
		m_cP.GetWindow()->Invalidate();
	}
	CDialog::OnTimer(nIDEvent);
}

void CconsoleDemoDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialog::OnSize(nType, cx, cy);
	if( ::IsWindow(m_wndChild) )
	{
		CRect rc(0,0,cx,cy);
		rc.left+=10;
		rc.top+=10;
		rc.bottom-=10;
		rc.right-=10;
		m_wndChild.MoveWindow(rc);
		m_wndChild.ReCalcScrollSize();
	}
}

⌨️ 快捷键说明

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