![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.05.2010
Сообщений: 24
|
![]()
Как с помощью WinAPI вывести на экран окно, нарисованное в редакторе ресурсов?
MS VC++ |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]()
DialogBox, CreateDialog
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.05.2010
Сообщений: 24
|
![]()
Спасибо. Вывести получилось, только вот оно почему-то не реагирует на большинство сообщений, посмотрите, что не так:
Код:
Последний раз редактировалось Gtx541; 05.08.2010 в 23:38. |
![]() |
![]() |
![]() |
#4 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Во первых - уберите петлю обработки сообщений и вызов DefWindowProc из процедуры диалогового окна - они здесь лишние.
Во вторых (это самое главное) - Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.05.2010
Сообщений: 24
|
![]()
Спасибо. Вроде всё работает. Скажите, нет ли здесь каких-либо ошибок?
Хоть всё и работает замечательно, меня в этом коде немного смущает тот факт, что процедура диалогового окна всегда будет возвращать FALSE. Так и должно быть или это ошибка? Пробовал вместо break-ов поставить return TRUE; вроде ничего не изменилось. Код:
|
![]() |
![]() |
![]() |
#6 | ||
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
Ну а петлю то всё-таки уберите (хотя бы ради эксперимента):
Код:
Ну и вот ещё парочка выдержек из нетленки: Цитата:
Цитата:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
||
![]() |
![]() |
![]() |
#7 |
Регистрация: 27.07.2010
Сообщений: 5
|
![]()
Конечно можно =
только чтобы окно работало надо чтобы и поток его породивший работал. Точнее надо создать локальный для потока цикл обработки сообщений в функции потока - DWORD WINAPI ThreadProc LPVOID lpParameter ... hWnd = CreateWindow...; //создаем окно ... while GetMessage... // крутим цико сообщений пока окно не вызовет PostQuitMessage TranslateMessage...; DispatchMessage...; return 0; анекдот я думаю для поднятия настрояния не повредит никаму ![]() Вовочка говорит маме: - Мам, а кто мой папа? - Дед Мороз. - Как это? - удивляется Вовочка. - Как, как... пришел ночью, сделал подарок и больше его никто не видел. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 27.07.2010
Сообщений: 5
|
![]()
Конечно можно =
только чтобы окно работало надо чтобы и поток его породивший работал. Точнее надо создать локальный для потока цикл обработки сообщений в функции потока - DWORD WINAPI ThreadProc LPVOID lpParameter ... hWnd = CreateWindow...; //создаем окно ... while GetMessage... // крутим цико сообщений пока окно не вызовет PostQuitMessage TranslateMessage...; DispatchMessage...; return 0; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка прерывания и рисование окна | Sparky | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 16.12.2009 13:56 |
Компиляция в текстовом редакторе | hard-t | Общие вопросы C/C++ | 2 | 12.12.2009 03:12 |
Ошибка в редакторе карт | apromix | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 11.12.2009 18:01 |
Отображение пробелов в редакторе VBA | AVTS | Microsoft Office Excel | 4 | 30.04.2009 02:58 |
Замена слова в текстовом редакторе | Славный | Общие вопросы Delphi | 6 | 06.06.2008 14:19 |