2017-01-16 11 views
0

マウスの位置を示す下部にツールバーを追加したいとします。MFC変更するテキストを表示するツールバーを追加する方法

マウスを移動したときに常に更新される読み取り専用を追加するにはどうすればよいですか?

私がしたことは、ツールバーを作ることと、読み取り専用のスタイルの代わりにボタンがあることです。

答えて

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から。

関連する問題