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)); } } }