Zugriff auf Listenfeld



  • Hi.

    Ich moechte in meinem Programm von meiner AppDoc-Klasse aus ein Listenfeld in einem anderen DialogFenster(CBatchList mit Basisklasse CFormView) loeschen um es danach wieder von AppDoc aus zu fuellen. Der Liste habe ich als Control Membervariable m_ctrlBatchList zu gewiesen.
    Dazu habe ich:

    POSITION pos=GetFirstViewPosition();
    CBatchList* pBatchList = reinterpret_cast<CBatchList*>(GetNextView(pos));
    
    pBatcgList->m_ctrlBatchList.DeleteAllItems();
    

    Aber es tut sich nichts, sprich die liste wird nicht geleert. Beim Debuggen sehe ich, dass der Wert 0 zurueck gegeben wird, d.h. die operarion war nicht erfolgreich.

    muss ich vielleicht den pointer anders zu weisen?

    danke fuer jede hilfe.

    gruss thomas



  • hat keiner ne idee ob und wie man das problem loesen kann?



  • Ich hab schon überlegt. Wenn Du sicher bist, dass Du auch den richtigen View erwischst, dann fällt mir auch nicht mehr viel dazu ein.

    Ich nehme an m_ctrlBatchList ist ein public Member. Du kannst Ja vielleicht noch angeben, was für ein Objekt es ist. Aber ich nehme mal an CListCtrl.
    Ansonsten könntest Du noch versuchen, ein Paint zu erzwingen. Aber das sollte eigentlich automatisch erfolgen.



  • Ja genau ist ein objekt der klasse CListCtrl.

    wie koennte ich denn ueberpruefen ob es die richtige view ist?



  • An Hand des Namens des Views? Würde sich meienr Meinung nach anbieten. Debug das Ding doch einfach mal und schau, wie der Name des Views ist, den Du da gerade castest.


Anmelden zum Antworten