Thread Funktion, ::SendMessage() oder globale Funktionen?!
-
Hallo,
ich verwende in meinem Programm Threads, in der Thradfunktion benutze ich
::SendMessage() Funktion um Ergebnisse aus den Threads zu speichern in CListCtrl und CTree usw,
nur ich bin mir nicht sicher ob das der beste Weg ist um sowas zu realisieren,
weil ich auch einen Hinweis gekriegt habe dass das auch über globale Funktionen (besser)gehen sollte, was ist jetzt da drann?
::SendMessage() oder blobale Funktionen???danke
pixel
-
Du greifst doch auf den Globalen Namespace mit einem ::BlaBla zu -.- Du kannst ja sonnst noch nen Pointer odg von deinem Ctrl holen und dann bsw. pTreeCtrl->SendMessage(...); verwenden, wobei dann nur 3 Params benötigt werden!
-
Kannst du deinem Thread nicht einfach einen Zeiger auf dein Dialog/View/Doc - Fenster mitgeben? Oder sind mehrere solcher Fenster beteiligt?
Edit: Dann könntest du doch mit Hilfe des Zeigers auf die Controls zugreifen:
pWnd->myListBox->AddString("Mein String!"); // zum Beispiel
-
Hallo,
ich hab jetzt beide möglichkeiten getestet, beide funktionieren!
Hab der Threadfunktion den Dialog als 2 Parameter übergeben, und in der ThreadF...
kann ich z.B. den CTree füllen:CTreeCtrl* cTree = (CTreeCtrl*)pDlg->m_cTabAll.GetTab(8)->GetDlgItem(IDC_TREE1); HTREEITEM hTreeItem = cTree->InsertItem(L"String");
oder auch auf CListCtrl zugreifen usw...
Danke
pixel