Пример #1
0
void KDialogP::SetPopupInfor(TCHAR * pszInfor)
{
	for (size_t i=0;i<(sizeof(m_pTxt_Popup_Infor)/sizeof(m_pTxt_Popup_Infor[0]));i++)
	{
		if( NULL != m_pTxt_Popup_Infor[i] )
		{
			m_pTxt_Popup_Infor[i]->SetText(_T(""));
		}
	}
	if( NULL == pszInfor ) return;
	size_t nFindIndex = 0;
	size_t nFinded = 0;
	size_t nFindCount = 0;
	HINT nHeight = 0;
	HString strInfo = pszInfor;

	while( -1 != nFinded )
	{
		nFinded = strInfo.find(_T('\n'),nFindIndex);
		if( -1 != nFinded )
		{
			if( nFindCount < (sizeof(m_pTxt_Popup_Infor)/sizeof(m_pTxt_Popup_Infor[0])) )
			{
				if( NULL != m_pTxt_Popup_Infor[nFindCount] )
				{
					m_pTxt_Popup_Infor[nFindCount]->SetText(strInfo.substr(nFindIndex,nFinded-nFindIndex).c_str());
				}
			}
			nFindCount++;
			nFindIndex = nFinded+1;
		}
		else
		{
			if( nFindCount < (sizeof(m_pTxt_Popup_Infor)/sizeof(m_pTxt_Popup_Infor[0])) )
			{
				if( NULL != m_pTxt_Popup_Infor[nFindCount] )
				{
					m_pTxt_Popup_Infor[nFindCount]->SetText(strInfo.substr(nFindIndex,strInfo.length()-nFindIndex).c_str());
				}
			}

			nFindCount++;
		}
	}

	nHeight = (SCREEN_HEIGHT - (nFindCount*40))/2;// 220/*170*/ - (HINT)((nFindCount-1)*20);
	for (size_t i=0;i<(sizeof(m_pTxt_Popup_Infor)/sizeof(m_pTxt_Popup_Infor[0]));i++)
	{
		if( NULL != m_pTxt_Popup_Infor[i] )
		{
			m_pTxt_Popup_Infor[i]->MoveTo(214,(HINT)(nHeight+i*40));
		}
	}
}