Ansichten Problem



  • Also ich habe in meinem prog ein Docking window erstellt mit einem CTabCtrl als inhalt welches wiederum 2 View in sich trägt. Ähnlich wie bei VC Arbeitsplatz ansicht wo man die klassen und so sieht.
    Nun ist folgendes prob. Wenn ich einen Text lade in meine Haputansicht (CRichEditView) dann wird dieser text durchsucht und bestimmte dinge werden dann im TabCtrl in einem View(CTreeView) angezeigt. Nun ist es so das ich will wenn ich in diesem TreeView einen Eintrag anklicke das in meiner hauptansicht dieses wort im text gefunden wird und makiert wird. Das mit dem text finden und makieren ist kein prob Mein prob besteht darin das wenn ich ins TreeView das sich im TabCtrl befindet etwas anklicke meine Hauptansicht natürlich ihrwen Focus verliert und wenn ich nun meine function starten will die das im text sucht funzt sie net. Er spricht einfach keinerlei sachen aus meiner hauptansicht an 😢 Hoffe ich habe mich einigermaßen verständlich ausgedrückt.



  • Arbeite mehr mit der Doc-/View-Architektur:

    z.B.

    // global
    #define UPDATE_FIND_TEXT
    
    // im TreeView
    ...OnItemClick(...)
    {
      CString str = GetItemText( item);
      GetDocument()->UpdateAllViews( this, UPDATE_FIND_TEXT, str);
    }
    
    // Im EditView
    void EditView::OnUpdate( CView* pView, LPARAM param, CObject* pParam)
    {
      switch( param)
      {
        case UPDATE_FIND_TEXT:
          SetFocus(); // damit EditView wieder Fokus bekommt
          // ... Hier Routine zum Finden einfügen bzw. Funktion aufrufen
          break;
      }
    }
    


  • Also irgendwie funzt dat net. Er sgat entweder dat UPDATE_FIND_TEXT net existiert, oder er kann Parameter 3 von UpdateAllView net von CAString zu CObject konvertieren.
    Giebet net noch ne andere möglichkeit bzw wo soll ich define setzen und wie funzt dat?
    Sorry 😢


Anmelden zum Antworten