Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189

Как создать окно в отдельном потоке?

24.07.2018, 18:18. Показов 1752. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю отдельный поток. Там регистрирую класс окна(успешно) далее создаю окно, но окно не создается. GetLastError = 0 Кто-нибудь сталкивался с такой проблемой?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2018, 18:18
Ответы с готовыми решениями:

Дочернее окно дочернего окна в отдельном потоке
есть окно. создается функцией CreateDialog. у него есть дочернее окно, которое создается в отдельном потоке и все сообщения его...

Создать приложение, в отдельном потоке вычисляющее значение w и непрерывно обновляющее его в потоке
Ребят, с потоками не работал не когда. Есть задание , я понимаю что хотят, а вот как сделать потоками хз . Создайте приложение, в...

Окно в отдельном потоке
Привет, вопрос заключается в том как поступить. У меня есть редактор карт для своего приложения. Он должен создавать Grid определенных...

5
 Аватар для Human_foot
156 / 114 / 36
Регистрация: 27.06.2018
Сообщений: 257
24.07.2018, 18:47
А код имеется? И как было выяснено, что окно не создаётся? - его не видно глазами?
0
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
25.07.2018, 10:27  [ТС]
С окном разобрался надо было wcWindowClass.lpfnWndProc = DefWindowProc; сделать. Теперь не приходят сообщения окну.

C++
1
2
3
4
5
6
7
8
9
10
11
DWORD WINAPI Class::Thread(LPVOID lpParam)
{
    MSG msg;
    while (GetMessage(&msg, m_hWnd, 0, 0))
    {
        int k = 6;
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
Не одного сообщения. Окно создавал вот так:
C++
1
2
3
4
5
6
7
8
WNDCLASS wcWindowClass = {0};
    wcWindowClass.hInstance = hInstance;
    wcWindowClass.lpfnWndProc = DefWindowProc;
    wcWindowClass.lpszClassName = szClassName;
    if(!RegisterClass(&wcWindowClass))
        return FALSE;
    m_hWnd = CreateWindowEx(0, szClassName, szClassName, WS_OVERLAPPED,
        0, 0, 0, 0, NULL, NULL, hInstance, NULL);
0
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
25.07.2018, 14:10
Sierra26, не вижу я того, что вы создаёте окно в другом потоке (в том же потоке что и его message loop).
0
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
25.07.2018, 20:11  [ТС]
Я разобрался где создано окно там и обработка сообщений
0
 Аватар для GoodWeather
886 / 588 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
11.08.2018, 17:22
Зачем вообще это делать? Весь GUI следует создавать в главном потоке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.08.2018, 17:22
Помогаю со студенческими работами здесь

GDI+. Почему в отдельном потоке картинки сохраняются как белые прямоугольники, а в основном потоке - всё Ок?
Всем привет, делаю функцию уменьшения картинок при помощи библиотеки GDI+, в отдельном потоке происходит уменьшение картинки и её...

Создать TreeNode в отдельном потоке
Нужно создать элементы (в данном случае - TreeNode) в отдельном (выделенном) потоке и что бы после завершения потока была возможность...

Не получается создать форму в отдельном потоке
В основной программе данные (со сканера) загружаются достаточно долго (пока сканируется документ). В это время пользователь ничего не может...

В отдельном потоке создать дочернюю форму, которую можно было бы активировать когда главная форма занята
Дано: Основная форма, длительный рассчёт. Задача: показать progressbar, но хочу показать его на сторонней форме (это надо для...

Как десериализовать в отдельном потоке ?
Метод MessageReceiverFirst принимает сокет и потом в отдельном потоке десериализует объект который передает этот же клиент. Когда делаю все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru