Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 0
Регистрация: 27.10.2016
Сообщений: 48

Создание окон в процедуре другого окна

20.01.2017, 19:34. Показов 3051. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите можно ли создавать и регистрировать классы, а так же создавать окна по ним в процедуре другого окна чтобы все классы окон, регистрацию, создание а так же кнопки ВСЕЙ многооконной программы не писать в:
INT WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

Пробывал в заголовочный вынести extern HINSTANCE hThisInstance; и подгружать его в файлы процедур, ничего не работает.
Объясните принцип если это вообще возможно.. как это сделать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2017, 19:34
Ответы с готовыми решениями:

WIN32, Windows(Окна) . Создание Доп.окон.
Снова я) Есть програмка. Программная среда -VisualStudio - проект Win32 . Есть основное окно. Нужно создать ещё одно. Как я понял ,...

Окно: создать 4 окна, в центре каждого из окон вывести номер окна в порядке создания(1-4)
Не могу справиться с программой, Нужно создать 4 окна. В центре каждого из окон вывести номер окна в порядке создания(1-4). При нажатии...

Почему авторы диалоговых окон стараются сделать свои окна максимально похожими на стандартные окна?
Начал рассматривать множество программ на С++ и заметил, что программисты стараются сделать почти все диалоговые окна максимально похожими...

30
2 / 2 / 0
Регистрация: 27.10.2016
Сообщений: 48
27.01.2017, 21:34  [ТС]
Студворк — интернет-сервис помощи студентам
wmaster575, Ты суперголова!!!! Спасибо огромное!!! теперь можно писать код не лазия в main.cpp
0
31 / 31 / 15
Регистрация: 02.02.2015
Сообщений: 152
27.01.2017, 21:37
NSXfl, принято!
0
2 / 2 / 0
Регистрация: 27.10.2016
Сообщений: 48
27.01.2017, 22:47  [ТС]
wmaster575, проверку на наличие класса окна и кнопки я думаю тоже можно убрать..
0
31 / 31 / 15
Регистрация: 02.02.2015
Сообщений: 152
27.01.2017, 23:28
NSXfl, да, можно, если всё происходит в WM_CREATE, то можно убрать, так как это сообщение вызывается только один раз. И если вы не собираетесь создавать окна этого же класса повторно.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
28.01.2017, 09:59
Цитата Сообщение от rao Посмотреть сообщение
Оконный класс регистрируется в границах всей оконной подсистемы, поэтому думаю даже можно вызвать RegisterClass в одном процессе, а создать окно этого класса в другом процессе.
Насколько я знаю, регистрация оконного класса действует только в пределах процесса.
Так, например, можно иметь в одном процессе кнопку с классическим оформлением, а
в другом - с визуальным (выпуклым, в стиле Common Controls 6.0).
Хотя класс в обоих случаях один и тот же - "button".
1
 Аватар для rao
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
28.01.2017, 10:06
Убежденный, да, был не прав. Между разными процессами регистрированные оконные классы не видятся.
0
2 / 2 / 0
Регистрация: 27.10.2016
Сообщений: 48
28.01.2017, 10:47  [ТС]
wmaster575, если засунуть создание окна на case btn какой нибудь то пока кнопку не нажмешь окно не будет занимать ОЗУ.. Ну т.е. Экземпляра окна не будет существовать в памяти... Тем самым можно освободить память..если не всеми окнами в проге пользуешься

Верно?
0
31 / 31 / 15
Регистрация: 02.02.2015
Сообщений: 152
28.01.2017, 12:39
NSXfl, да.
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 9
29.01.2017, 15:32
Вы можете создать отдельный класс окна, прописав в нем функции создания класса, оконной процедуры и добавления элементов.
Затем создавать экземпляр этого своего класса в WinMain. выглядеть будет примерно так ваш WinMain:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow)
{
xWindow * wnd = new xWindow(hInst);//Экземпляр класса
    if (!wnd->Add_WndClass(hInst)) return false //Добавление класса окна;
    if (!wnd->Add_Wnd(hInst, iCmdShow)) return false //Создание окна;
    if (!wnd->Add_Wnd_Control(hInst, iCmdShow)) return false;//Добавление элементов управления
 
    MSG msg;
 
    while (GetMessage(&msg, NULL, NULL, NULL)>0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
Если интересно могу ссылку дать хорошую.
0
2 / 2 / 0
Регистрация: 27.10.2016
Сообщений: 48
29.01.2017, 16:05  [ТС]
Orangutang, давай почитаю, думаю понадобится такая возможность
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 9
29.01.2017, 16:17
вот ссылочка!
http://www.catch22.net/tuts/custom-controls

Я не могу понять, как здесь вставлять картинки, если надо создать свою тему...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2017, 16:17

Перерисовка окна другого процесса через дескриптор этого окна
Приветствую всех. Может кто-то знает, как перерисовать окно другого процесса через дескриптор (IntPtr) этого окна. Может апишная функция...

Закрытие одного окна по таймеру с последующем открытием другого окна
Приветствую! Необходимо создать приветственное окно для программы. Сначала должно открываться приветственное окно, висеть примерно 7...

Как связать сигнал одного окна и слот другого окна
Здравствуйте! Такой вопрос: Имеется главное окно MainWindow и диалоговое окно Dialog. На диалоговом окне находится кнопка Button. А в...

Подстроить размер окна относительно размера другого окна в X11
Есть два риложения, у обоих устанавливается атрибут WA_X11NetWmWindowTypeaDock. Сначала запускается первое приложение и занимает какое-то...

Передача информации из текстбоксов одного окна в таблицу другого окна
Доброго времени суток, пишу программу для mac os x, нужна подсказка, как сделать (не прошу делать, а прошу подсказать), чтобы при нажатии...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru