Wyświetlanie tekstu w oknie zawiesza się

0

Witam,
mam problem z wyświetlaniem danych w oknie ( nie ma znaczenia czy to nadrzędnym czy potomnym).
Dane są pobierane z pliku i zapisywane do kontenerów w oddzielnym wątku.
W funkcji "Display( ...) " dane są wypisywane w oknie głównym.

Wszystko dobrze się wyświetla dopóki to okno nie zostanie dezaktywowane (np. kiedy klikam na inny uruchomiony program). Po próbie powrotu do tego programu (aktywowania) wyświetlanie tekstu informującego o postępie kopiowania danych się zatrzymuje , a na belce tytułowej obok nazwy programu pojawia się dodatkowy napis (Brak odpowiedzi). Oczywiście dane się dobrze kopiują.

Jak jest tego przyczyna i jak mogę usprawnić ten programik?

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  switch (message)
  {
     case WM_COMMAND:
	  switch (wmId)
	  {
		case IDM_CopyDate:
          	{
                     // Kopiuje dane z pliku do kontenera umieszcz. w strukturze PARAMS
                     hThread = (HANDLE)_beginthreadex (NULL,0, &Thread, &Params, 0, &threadID) ;

                    // Wyswietlam kopiowane dane w oknie głównym
                     Display(hWnd, &Params );
              }
          }
     }
}


Display(HWND hWnd,PARAMS & Params )
{
   HDC hdc_ = GetDC (hWnd) ;

   do { 
 
        TextOut (hdc_,10,10,10,10, Params.Text.c_str(), Params.Text .size() );
    } while (Params.Results == -1);



}
0

Przepraszam, czy nikt nie jest w stanie podpowiedzieć jak rozwiązać ten problem ?
Za wszelkie uwagi i sugestię będę wdzięczny.

0

Jeszcze raz podbijam, czekając na sugestie , podpowiedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1