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);
}