StatusBar - Hilfe



  • Hi,
    wie bekommt man diese einzelnen 'Abschnitte' in die Statusbar?

    danke schon mal im Voraus.

    mfg Galan



  • wenn du so einen querstrich meinst:

    einfach SEPARATOR zwischen zwei Buttons in die Ressourcen Datei schreiben



  • sorry das war für die toolbar....

    in das array der indicators für die querstriche ID_SEPARATOR eintragen und sonst eine andere gültige ID um ein Feld zu bekommen..



  • Beipsiel:
    Links von den rechts ausgerichteten Panes mit dem 3D-Look einen eigenen Bereich schaffen, in dem wir unsere eigenen Informationen ausgeben können. Zunächst benötigen wir eine ID. Diese fügen wir bei den Ressourcen als Textstring hinzu. Wir benutzen ID_INDICATOR_MYINFO und ordnen den String "Meine Info:___________" zu:

    static UINT indicators[] = 
    { 
     ID_SEPARATOR,          
     ID_INDICATOR_MYINFO,   //eigenes Feld
     ID_INDICATOR_CAPS,     
     ID_INDICATOR_NUM, 
     ID_INDICATOR_SCRL, 
    };
    

    Text zurordnen geht mit

    BOOL CStatusBar::SetPaneText( int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE )
    

    Hier ein Beispiel mit Links-/Rechtsklick:

    // MainFrm.h : Schnittstelle der Klasse CMainFrame 
    ... 
    class CMainFrame : public CFrameWnd 
    { 
    ... 
    public: 
     CStatusBar* get_StatusBar(); 
    
    // MainFrm.cpp : Implementierung der Klasse CMainFrame 
    ... 
    ///////////////////////////////////////////////////////////////////////////// 
    // CMainFrame Nachrichten-Handler 
    
    CStatusBar* CMainFrame::get_StatusBar() 
    { 
     return &m_wndStatusBar; 
    } 
    
    // SDI002View.cpp : Implementierung der Klasse CSDI002View 
    ... 
    #include "MainFrm.h" 
    ... 
    
    void CSDI002View::OnLButtonDown(UINT nFlags, CPoint point)  
    { 
     CMainFrame* pMainFrame = (CMainFrame*)GetParentFrame(); 
     CStatusBar* pStB        = pMainFrame->get_StatusBar(); 
     pStB->SetPaneText(1,"Meine Info: Linke Maus"); 
    
     CView::OnLButtonDown(nFlags, point); 
    } 
    
    void CSDI002View::OnRButtonDown(UINT nFlags, CPoint point)  
    { 
     CMainFrame* pMainFrame = (CMainFrame*)GetParentFrame(); 
     CStatusBar* pStB        = pMainFrame->get_StatusBar(); 
     pStB->SetPaneText(1,"Meine Info: Rechte Maus"); 
    
     CView::OnRButtonDown(nFlags, point); 
    }
    


  • danke für die schnelle Antwort.

    Aber wie kann ich jetzt in die einzelnen Felder einen Text einfügen?



  • Ah, Erhard war schneller 🙂

    vielen Dank 🙂


Log in to reply