Помощь - Поиск - Пользователи - Календарь
Полная версия: Функция потока
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
18192123
Возник один вопросик..
Есть функция потока

DWORD WINAPI thread_func(LPVOID lpParam)
{
     while(RunMore) 
		{
			WaitForSingleObject(myEvent,INFINITE);
                        //движение по экрану  
			
                }
    SetEvent(myEvent);

    return 0;
}
........
myEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
    int counter[THRD_COUNT] = {1}; 
    for(int i = 0; i < THRD_COUNT; i++) {
        hThread[i] = CreateThread(NULL, 0, thread_func, (PVOID)&counter[i], 0, &dwThreadIdArray[i]);
    }
    SetEvent(myEvent);


На месте комментария хочу осуществить перемещение Label по экрану, для начала - от одного края к другому..
Такой код

hLabel=CreateWindow(TEXT("STATIC"),NULL,WS_CHILD|WS_VISIBLE|SS_LEFT ,30,50,30,20,hWndMain,NULL,hInstance,NULL);	
SendMessage(hLabel,WM_SETTEXT, 0, (LPARAM)(LPCSTR)TEXT("<--"));


даже не отрисовывает на окне формы с дескриптором hWndMain..
Объясните пожалуйста, в чём дело?
volvo
Цитата
Такой код
Где этот код у тебя прописан, это раз... Должен быть после SetEvent(myEvent). А два - есть ли после него ShowWindow для основного окна приложения? Причин не работать, если все так, как в этих двух пунктах - не вижу, значит, что-то намудрила в других частях программы, проверяй...

P.S. Или ты хочешь этот код писать прямо в thread_func, и рисовать каждый раз в потоке этот СтатикТекст? Тогда как ты собралась внутри потока получить hInstance? Глобальную переменную что-ли ввела?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.