void CWndGuideTextMgr::OnInitialUpdate() { CWndNeuz::OnInitialUpdate(); DelWndStyle(WBS_MOVE); AddWndStyle(WBS_TOPMOST); m_wndTitleBar.SetVisible( FALSE ); m_bVisible = FALSE; CWndText* pWndText; CWndButton* pWndButton; pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 ); m_Rect[0] = pWndText->GetWndRect(); pWndButton = (CWndButton*)GetDlgItem( WIDC_BACK ); m_Rect[1] = pWndButton->GetWndRect(); #if __VER >= 12 // __MOD_TUTORIAL pWndButton->SetVisible(FALSE); #endif pWndButton = (CWndButton*)GetDlgItem( WIDC_NEXT ); m_Rect[2] = pWndButton->GetWndRect(); m_Rect[3] = GetWndRect(); m_nCurrentVector = 0; m_VecGuideText.clear(); m_pTextureBG = m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_THEME, "GuideBG.tga" ), 0, TRUE ); }
void CWndGuideTextMgr::_SetGuideText(GUIDE_STRUCT guide) #endif { CWndText* pWndText; CWndButton* pWndButton; pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 ); pWndText->SetWndRect( m_Rect[0] ); pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK ); pWndButton->SetWndRect( m_Rect[1] ); pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT ); pWndButton->SetWndRect( m_Rect[2] ); SetWndRect( m_Rect[3] ); #if __VER >= 12 // __MOD_TUTORIAL if(bIsNext) pWndButton->SetVisible(TRUE); else pWndButton->SetVisible(FALSE); #endif m_bVisible = TRUE; m_strHelpKey = guide.m_str; pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 ); #if __VER >= 12 // __MOD_TUTORIAL pWndText->SetString(""); pWndText->m_string.AddParsingString(LPCTSTR(guide.m_str)); pWndText->ResetString(); #else pWndText->SetString( (guide.m_nkey == CWndGuideSystem::KEY) ? prj.GetHelp( m_strHelpKey ) : guide.m_str ); #endif CRect rect = pWndText->GetWndRect(); pWndText->m_string.Align( m_pFont ); int nLine = pWndText->m_string.GetLineCount(); if( nLine < 10 ) { if( nLine < 8 ) nLine = 8; CRect clientrect = GetWndRect(); int ngap = rect.Height() - (nLine * 22); clientrect.top += ngap; SetWndRect(clientrect); rect.bottom -= ngap; pWndText->SetWndRect( rect ); CRect ptRect; #ifndef __MOD_TOTURIAL pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK ); ptRect = pWndButton->GetWndRect(); ptRect.OffsetRect( 0, -ngap ); pWndButton->SetWndRect(ptRect); #endif pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT ); ptRect = pWndButton->GetWndRect(); ptRect.OffsetRect( 0, -ngap ); pWndButton->SetWndRect(ptRect); pWndText->m_wndScrollBar.m_bVisible = FALSE; } else { /* pWndText = (CWndText*)GetDlgItem( WIDC_TEXT1 ); pWndText->SetWndRect( m_Rect[0] ); pWndButton= (CWndButton*)GetDlgItem( WIDC_BACK ); pWndButton->SetWndRect( m_Rect[1] ); pWndButton= (CWndButton*)GetDlgItem( WIDC_NEXT ); pWndButton->SetWndRect( m_Rect[2] ); SetWndRect( m_Rect[3] ); */ pWndText->m_wndScrollBar.m_bVisible = TRUE; pWndText->SetWndRect( rect ); } CWndGuideSystem* pWndGuide = (CWndGuideSystem*)GetWndBase( APP_GUIDE ); CRect rectGuide = pWndGuide->GetWindowRect( TRUE ); CPoint ptGuide = rectGuide.TopLeft(); CPoint ptMove; pWndGuide->m_bVisible = TRUE; CRect windowrect = GetWindowRect( TRUE ); if( ptGuide.x > windowrect.Width() ) ptMove = ptGuide - CPoint( windowrect.Width(), 0 ); else ptMove = ptGuide + CPoint( rectGuide.Width(), 0 ); ptMove.y = rectGuide.bottom; ptMove.y -= windowrect.Height(); if( ptMove.y < 0 ) ptMove.y = rectGuide.top; Move( ptMove ); }