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

📄 buzzslidwin.cpp

📁 miXo is a buzz machine (www.buzzmachines.com) - a plugin for the freely available jeskola buzz track
💻 CPP
字号:
// BuzzSlidWin.cpp: implementation of the CBuzzSlidWin class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "mixer.h"
#include <assert.h>
#include <math.h>
#include "BuzzSlidWin.h"
#include "ColGen.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBuzzSlidWin::CBuzzSlidWin(const char *sz,CColGen *pCol) 
: CSlidWin(sz,pCol),m_fVal(-1.0),m_bUpdate(true),
m_bMonitor(true),m_cSlidMon(sz,pCol),
m_bGray(false),m_cScroller(sz)
{
}
CBuzzSlidWin::~CBuzzSlidWin()
{
	m_cSlidMon.DeInit();
	m_cScroller.DeInit();
}
void CBuzzSlidWin::DeInit()
{
	m_cSlidMon.DeInit();
	m_cScroller.DeInit();
	CAbWin::DeInit();
}
bool CBuzzSlidWin::SetValue(float f)
{
	if(fabs(m_fVal-f) > 0.001) 
	{
		m_fVal=f;
		m_bUpdate=true;
		return true;
	}
	return false;
}

bool CBuzzSlidWin::DoUpdate()
{
	bool bRet=false;
	if(m_bUpdate) {
		m_cScroller.SetPos(e_maxintValue-int(m_fVal*float(e_maxintValue)));
		m_bUpdate=false;
		bRet=true;
	}
	if(m_bMonitor) {
		if(m_cSlidMon.DoUpdate())
			bRet=true;
	}
	return bRet;
}
//LRESULT CBuzzSlidWin::WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
//{
//	return CAbWin::WindowProc(hWnd,uMsg,wParam,lParam);
//}

//bool CBuzzSlidWin::OnWMPaint(HDC para_dc) 
//{	
//	return CAbWin::OnWMPaint(para_dc);
//}

void CBuzzSlidWin::PostCreate()
{
	CAbWin::PostCreate();
	RECT r;
	int iYScrollHt=::GetSystemMetrics(SM_CYVSCROLL);
	::GetClientRect(GetWndHandle(),&r);
	int iWd=r.right-r.left;
	m_cScroller.Init(GetWndHandle());
	m_cScroller.SetWindowClientRect(CWinRect(0,-iYScrollHt,(iWd-iWd/4),r.bottom+iYScrollHt));
	m_cScroller.Create();
	m_cScroller.SetPositions(0,e_maxintValue,e_maxintValue/100,
		(int(m_fVal*float(e_maxintValue)))*e_maxintValue/100);
	m_cSlidMon.SetBgBrush(::CreateSolidBrush(RGB(200,200,200)));
	m_cSlidMon.Init(GetWndHandle());
	m_cSlidMon.SetWindowClientRect(CWinRect((iWd-iWd/4),0,iWd,r.bottom));
	m_cSlidMon.Create();
}
void CBuzzSlidWin::SetGray(bool b)
{ 
	m_bGray=b;
//	if(m_bGray)
//		m_cScroller.SetExWinStyle(m_cScroller.GetExWinStyle());
//	else
//		m_cScroller.SetExWinStyle(m_cScroller.GetExWinStyle()|WS_EX_WINDOWEDGE);
//	m_bUpdate=true;
}

/*
LRESULT CBuzzSlidWin::WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
	switch(uMsg) {
	case WM_LBUTTONUP:
		{
//			int xPos = LOWORD(lParam);  
//			OutputDebugString("called");
			int yPos = HIWORD(lParam);
			m_fVal=float(GetWindowRect().Y1()-yPos)/float(GetWindowRect().Y1());
			SendMessage(GetParHandle(),WM_USER,0x2,0l);
		}
		return FALSE;
	}
	return CAbWin::WindowProc(hWnd,uMsg,wParam,lParam);
}
*/

⌨️ 快捷键说明

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