ppprograssbar.cpp

来自「基于ARM平台的控制系统,自己带有MINIGUI,可以直接在VC下运行界面演示程」· C++ 代码 · 共 88 行

CPP
88
字号
#include "GUIpp.h"

#include "ppPrograssBar.h"

#if _USE_GUI == 1
#define	MARGIN	2

CPrograssBar::CPrograssBar()
{
	w_nMaxCount = 0;
	w_nCurrentValue = 0;
}

CPrograssBar::~CPrograssBar()
{
	
}

int CPrograssBar::CreateWindow(
				CWnd * pParentWnd,
				int nX1,
				int nY1,
				int nWidth,
				int nHeight,
				int nWndStyle,
				int nMaxCount,
				int nCurrentValue)
{
	w_nMaxCount = nMaxCount;
	w_nCurrentValue = nCurrentValue;

	//创建窗体
	return CWnd::CreateWindow(pParentWnd, nX1,  nY1, nWidth, nHeight, nWndStyle);
}

void CPrograssBar::OnPaint()
{
	int nDrawLen;
	int nHeight;
	int nWidth;
	CRect rc;
	GetWindowRect(&rc);

	nHeight = rc.w_nY2 - rc.w_nY1;
	nWidth = rc.w_nX2 - rc.w_nX1;
	nDrawLen = ((nWidth-MARGIN*2-1) * w_nCurrentValue) / w_nMaxCount;

	RectFrame(rc.w_nX1, rc.w_nY1, nWidth, nHeight);
	RectangleBlock(rc.w_nX1 + MARGIN, rc.w_nY1 + MARGIN, nDrawLen, nHeight-MARGIN*2,0);
}

void CPrograssBar::OnTimer(CTimer *pTimer)
{

}

void CPrograssBar::SetValue(int nValue)
{
	if(nValue > w_nMaxCount)
	{
		nValue = w_nMaxCount;
	}
	w_nCurrentValue = nValue;
	
	SetUIDirty(1);
}

int CPrograssBar::GetValue()
{
	return w_nCurrentValue;
}

void CPrograssBar::SetCounter(int nCounter)
{
	if(0 < nCounter)
	{
		w_nMaxCount = nCounter;
		SetUIDirty(1);
	}
}

int CPrograssBar::GetCounter()
{
	return w_nMaxCount;
}

#endif

⌨️ 快捷键说明

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