示例#1
0
bool CXTPTrayIcon::ShowBalloonTip(LPCTSTR lpszInfo, LPCTSTR lpszInfoTitle/*= NULL*/, DWORD dwInfoFlags/*= NIIF_NONE*/, UINT uTimeout/*= 10*/)
{
	bool bResult = false;

	if (IsShellVersion5() && lpszInfo)
	{
		// The balloon tooltip text can be up to 255 chars long.
		ASSERT(AfxIsValidString(lpszInfo));
		ASSERT(lstrlen(lpszInfo) < 256);

		// The balloon title text can be up to 63 chars long.
		if (lpszInfoTitle)
		{
			ASSERT(AfxIsValidString(lpszInfoTitle));
			ASSERT(lstrlen(lpszInfoTitle) < 64);
		}

		// dwInfoFlags must be valid.
		ASSERT(NIIF_NONE == dwInfoFlags ||
				NIIF_INFO == dwInfoFlags ||
				NIIF_WARNING == dwInfoFlags ||
				NIIF_ERROR == dwInfoFlags);

		// The timeout must be between 10 and 30 seconds.
		ASSERT(uTimeout >= 10 && uTimeout <= 30);

		m_niData.uFlags |= NIF_INFO;

		STRNCPY_S(m_niData.szInfo, _countof(m_niData.szInfo), lpszInfo, 255);

		if (lpszInfoTitle)
		{
			STRNCPY_S(m_niData.szInfoTitle, _countof(m_niData.szInfoTitle), lpszInfoTitle, 63);
		}
		else
		{
			m_niData.szInfoTitle[0] = _T('\0');
		}

		m_niData.uTimeout = (uTimeout * 1000); // convert time to millisecs
		m_niData.dwInfoFlags = dwInfoFlags;

		if (ShellNotify(NIM_MODIFY))
		{
			bResult = true;
		}

		// Zero out the balloon text string so that later operations won't redisplay
		// the balloon.
		m_niData.szInfo[0] = _T('\0');
	}

	return bResult;
}
示例#2
0
文件: ACLStr.cpp 项目: Fahrni/ACLLib
ACLStr::ACLStr(IN const ACLStr& str)
{
	size_t len(str.Len());
	_Init();
	_Alloc(len);
	STRNCPY_S(_string, _realLength, str._string, len); 
}	// ACLStr(IN const &ACLStr)
示例#3
0
文件: ACLStr.cpp 项目: Fahrni/ACLLib
ACLStr::ACLStr(IN LPCTSTR str)
{
	_Init();

	if (str)
	{
		size_t len(STRLEN(str));
		_Alloc(len);
		STRNCPY_S(_string, _realLength, str, len); 
	}
}	// ACLStr(IN LPCTSTR)
示例#4
0
bool CXTPTrayIcon::SetShellTooltip(LPCTSTR lpszTipText)
{
	ASSERT(AfxIsValidString(lpszTipText));
	ASSERT(_tcslen(lpszTipText) < m_iMaxTipSize);

	m_niData.uFlags = NIF_TIP;
	STRNCPY_S(m_niData.szTip, _countof(m_niData.szTip), lpszTipText, m_iMaxTipSize-1);

	if (m_bHidden)
	{
		return true;
	}

	if (!ShellNotify(NIM_MODIFY))
	{
		return false;
	}

	return true;
}
示例#5
0
文件: ACLStr.cpp 项目: Fahrni/ACLLib
ACLStr::ACLStr(IN const TCHAR ch)
{
	_Init();
	_Alloc(STR_PADDING);
	STRNCPY_S(_string, _realLength, &ch, 1); 
}	// ACLStr(IN LPCTSTR)