2017-01-16 2 views

답변

0

, 상태 표시 줄에 귀하의 정보를 밀어해서는 안된다. 메인 메시지 펌프가 유휴 상태 일 때 처리하도록하십시오. 자식/기본 파생 프레임에 UI 처리기를 추가합니다. 보기에서 정보를 가져옵니다.

ON_UPDATE_COMMAND_UI(ID_STATUSBAR_LABEL, &OnUpdateStatusText) 
... 
void CADFrame::OnUpdateStatusText(CCmdUI *pCmdUI) 
{ 
    pCmdUI->Enable(); 
    CADView* pView= dynamic_cast< CADView* >(GetActiveView()); 
    ASSERT_VALID(pView); 
    pCmdUI->SetText(pView->GetStatusInfo()); 
... 
} 

마우스 위치로 작업 할 때 점진적 계산을 위해 마지막 마우스 위치가 뷰에 저장됩니다. 당신이 뭔가를 볼 수에 따라서 같은, (당신이 최대 무엇 따라 다름) :

const CString& CADView::GetStatusInfo() 
{ 
    if(bStatusMouseChanged) 
    { 
     strStatus.Format(_T(" x: %.4f y: %.4f") 
      ,(double)(ptLastMouse.x - offsetx)/winScale 
      ,(double)(ptLastMouse.y - offsety)/winScale 
     ); 
     bStatusMouseChanged= false; 
    } 
    return strStatus; 
} 

을 플래그 당신이 필요로 할 때 당신은 단지 문자열을 구축을 유지함으로써. shameless promo of my project에서.

관련 문제