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

📄 ycode.cpp

📁 Windows mobile下的透明控件(皮肤控件) 当前Windows mobile下的皮肤控件还很少
💻 CPP
字号:

#include "YCode.h"

/*********************************************************************************************
*								SysFunc														 *
*																							 *
*		YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0						 *
*			作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com									 *
*																							 *
**********************************************************************************************/

BOOL FileExists( LPCWSTR lpszFileName )
{
	WIN32_FIND_DATA findData;
	HANDLE hFile = FindFirstFile( lpszFileName, &findData );//FindFirstFile(lpszFileName, NULL);
	if( INVALID_HANDLE_VALUE != hFile )
	{
		CloseHandle( hFile );
		return TRUE;
	}
	return FALSE;
}

char * FindText( char *pStr, char *pSubStr)
{
	char * R, *tmp1, *tmp2;
	R = NULL;

	while( *pStr )
	{
		tmp2 = pSubStr;
		tmp1 = pStr;
		R = tmp1;
		while( *tmp2 )
		{
			if( !(*tmp1) )
			{
				R = 0;
				break;
			}
			if( *tmp1 != *tmp2 )
			{
				R = 0;
				break;
			}
			tmp1++;
			tmp2++;
		}		
		if( R )
			break;
		pStr++;
	}

	return R;
}

/*********************************************************************************************
*								CList														 *
*																							 *
*		YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0						 *
*			作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com									 *
*																							 *
**********************************************************************************************/
CList::CList()
{
	m_unMax = 30;
	m_unCount = 0;
	m_pData = malloc( m_unMax * sizeof(void *) );
}

CList::~CList()
{
	free( m_pData );
}

void CList::CheckMem( void )
{
	void *p;
	if( m_unCount == m_unMax)
	{
		m_unMax += 30;
		p = m_pData;		
		m_pData = malloc( m_unMax * sizeof(void *) );
		memcpy( m_pData, p, m_unMax * sizeof(void *) );
		free( p );
	}
}

UINT CList::Add( void *p )
{
	CheckMem();
	*((UINT *)m_pData + m_unCount) = (UINT)p;
	return m_unCount++;
}

void CList::Delete( void *p )
{
	UINT i, j;

	for( i = 0; i < m_unCount; i++ )
	{
		if( *((UINT *)m_pData + i) == (UINT)p )
		{
			for( j = i; j < m_unCount - 1; j++ )
				*((UINT *)m_pData + j) = *((UINT *)m_pData + j + 1);
			m_unCount -= 1;
			return;
		}
	}
}

UINT CList::Insert( UINT unIndex, void *p )
{
	UINT i;
	UINT tmp;

	if( unIndex >= m_unCount )
		return Add( p );

	CheckMem();
	tmp = ((UINT *)m_pData)[unIndex];
	((UINT *)m_pData)[unIndex] = (UINT)p;
	unIndex++;
	for( i = unIndex; i <= m_unCount; i++ )
	{
		p = (void *)(((UINT *)m_pData)[i]);
		((UINT *)m_pData)[i] = tmp;
		tmp = (UINT)p;
	}
	return unIndex;
}

UINT CList::GetCount( void )
{
	return m_unCount;
}

void * CList::GetItem( UINT unIndex )
{
	return (void *)(*((UINT *)m_pData + unIndex));
}

void CList::Clear( void )
{
	m_unCount = 0;
}

/*********************************************************************************************
*								CString														 *
*																							 *
*		YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0						 *
*			作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com									 *
*																							 *
**********************************************************************************************/
#define		SIZE_STRING_DEFAULT				126

CString::CString()
{
	m_nLength = 0;
	m_nBufSize = 0;
	m_pszText = NULL;
	SetBufSize( SIZE_STRING_DEFAULT );
}

CString::~CString()
{
	free( (void *)m_pszText );
}

void CString::SetBufSize( int nSize )
{
	m_nBufSize = nSize;
	WCHAR *tmp = m_pszText;
	m_pszText = (WCHAR *)malloc( m_nBufSize + 2);
	if( tmp )
	{
		if( m_nLength )
			memcpy( (void *)m_pszText, (void *)tmp, m_nLength * 2 );
		free( (void *)tmp );
	}
	m_pszText[m_nLength] = 0;
}

void CString::CheckBufSize( int nSize )
{
	if( nSize > m_nBufSize )
		SetBufSize( nSize + SIZE_STRING_DEFAULT);
}

void CString::Clear( void )
{
	if( m_nLength > SIZE_STRING_DEFAULT )
	{
		m_nLength = 0;
		SetBufSize( SIZE_STRING_DEFAULT );
	}else
		m_nLength = 0;
}

int CString::GetLength( void )
{
	return m_nLength;
}

void CString::Copy( LPCWSTR lpszDes, int nTextMax )
{
	if( m_nLength < nTextMax )
		nTextMax = m_nLength;
	memcpy( (void *)lpszDes, m_pszText, nTextMax * 2 );
	((WCHAR *)lpszDes)[nTextMax] = 0;
}

LPCWSTR CString::GetString( void )
{
	return m_pszText;
}

WCHAR CString::operator []( const int nIndex) const
{
	if( (0 <= nIndex) && (nIndex < m_nLength) )
		return m_pszText[nIndex];
	else
		return m_pszText[m_nLength - 1];
}

WCHAR & CString::operator []( const int nIndex )
{
	if( (0 <= nIndex) && (nIndex < m_nLength) )
		return m_pszText[nIndex];
	else
		return m_pszText[m_nLength - 1];
}


void CString::operator = ( LPCWSTR pszStr )
{	
	if( pszStr == m_pszText )
		return;
	int Len = lstrlen( pszStr );
	if( Len * 2 > m_nBufSize )
	{
		m_nLength = 0;
		SetBufSize( Len * 2 + SIZE_STRING_DEFAULT );
	}
	lstrcpy( m_pszText, pszStr );
	m_nLength = Len;
}

void CString::operator = ( LPCSTR pszStr )
{	
	int Len = strlen( pszStr );
	if( Len * 2 > m_nBufSize )
	{
		m_nLength = 0;
		SetBufSize( Len * 2 + SIZE_STRING_DEFAULT );
	}
	m_nLength = Len;
	MultiByteToWideChar( CP_ACP, 0, pszStr, -1, m_pszText, m_nLength );
}

CString & CString::operator + ( LPCWSTR pszStr )
{
	if( pszStr == m_pszText )
		return *this;
	int Len = m_nLength + lstrlen( pszStr );
	CheckBufSize( Len * 2 );
	lstrcpy( m_pszText + m_nLength, pszStr );
	m_nLength = Len;
	return *this;
}

CString & CString::operator + ( LPCSTR pszStr )
{
	int Len = m_nLength + strlen( pszStr );
	CheckBufSize( Len * 2 );
	MultiByteToWideChar( CP_ACP, 0, pszStr, -1, m_pszText + m_nLength, Len );
	m_nLength = Len;
	return *this;
}

void CString::operator += ( LPCWSTR pszStr )
{
	*this + pszStr;
}

void  CString::operator += ( WCHAR wcChar )
{
	CheckBufSize( m_nLength * 2 + 2);
	m_pszText[m_nLength++] = wcChar;
	m_pszText[m_nLength] = 0;
}

void  CString::operator -- ( void )
{
	if( m_nLength )
	{
		m_nLength--;
		m_pszText[m_nLength] = 0;
	}
}

void CString::operator = ( CString & str)
{
	*this = str.m_pszText;
}

CString & CString::operator + ( CString & str)
{
	*this + str.m_pszText;
	return *this;
}

void CString::operator += ( CString & str)
{
	*this += str.m_pszText;
}

/*********************************************************************************************
*								CIni														 *
*																							 *
*		YCode Y代码 YCtrl Y控件 Windows Mobile 透明控件 2008 YCtrl 1.0						 *
*			作者:卢益贵 QQ:48092788 luyigui.blog.nnsky.com									 *
*																							 *
**********************************************************************************************/
void CIni::Open( LPCWSTR pszFileName )
{
	/*m_hFile = CreateFile(pszFileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS | CREATE_NEW | OPEN_EXISTING,
							FILE_ATTRIBUTE_NORMAL, NULL);
	if( INVALID_HANDLE_VALUE != hf )
	{
		DWORD fs = GetFileSize( m_hFile, NULL );
		m_pBuf = (unsigned char *)malloc( fs );
		DWORD rs;
		ReadFile( m_hFile, m_pBuf, fs, &rs, NULL );
		if( fs == rs )
		{
			for( i = 0; i < rs; i++)
			{
				if(
			}			
		}
	}*/
}

void CIni::Close( void )
{
	if(INVALID_HANDLE_VALUE !=  m_hFile)
		CloseHandle( m_hFile );
	m_hFile = INVALID_HANDLE_VALUE;
}

void CIni::WriteStr( LPCSTR pszSection, LPCSTR pszIdent, LPCSTR pszValue )
{

}

void CIni::WriteFloat( LPCSTR pszSection, LPCSTR pszIdent, float fValue )
{

}

void CIni::WriteInt( LPCSTR pszSection, LPCSTR pszIdent, int nValue )
{

}

void CIni::WriteDateTime( LPCSTR pszSection, LPCSTR pszIdent, SYSTEMTIME &pDateTime )
{

}

void CIni::RealStr( LPCSTR pszSection, LPCSTR pszIdent, LPCSTR pszValue )
{

}

float CIni::ReadFloat( LPCSTR pszSection, LPCSTR pszIdent )
{
	return 0;
}

int CIni::ReadInt( LPCSTR pszSection, LPCSTR pszIdent )
{
	return 0;
}

void CIni::ReadDateTime( LPCSTR pszSection, LPCSTR pszIdent, SYSTEMTIME &pDateTime )
{
}

⌨️ 快捷键说明

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