Что нового

[Элементы GUI] Как правильно создавать несколько окон?

BaRsupillamy

Новичок
Сообщения
58
Репутация
0
Допустим, есть главное окно программы. И есть окно настроек. Как правильнее создавать окно настроек?
В этой теме окна создаются сразу все и прячутся... на них тратится память, ресурсы? я создавал окно настроек только при вызове... и удалял при закрытии его... как правильнее поступать?
спасибо...
 
Автор
B

BaRsupillamy

Новичок
Сообщения
58
Репутация
0
Благодарю :smile: время было позднее... я поиском нашёл это, прочитал, не вник, видимо, до конца :smile:
а можно пример для второй ситуации? не код, а на пальцах... в каких случаях стоит использовать второй вариант, т.е. что значит "иногда требуется создавать дочерние окна имея возможность работать и в главном, родительском окне"... чтобы я понял, как мне лучше поступать...
хотя я уже склоняюсь к первому варианту, потому что окно настроек вызовется один раз и всё...
и ещё... получается, что всё таки созданное по второму примеру окно отнимает память, ведь все элементы созданы, работают, просто их не видно, верно? или пока они не отображаются, система о них не знает?
 

ArtInt

Знающий
Сообщения
135
Репутация
18
2-й надо юзать, если тебе нужно одновременно работать (читай нажимать, вводить нечто в ctrl'ы и обрабатывать это) в обоих окнах
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
BaRsupillamy [?]
получается, что всё таки созданное по второму примеру окно отнимает память, ведь все элементы созданы, работают, просто их не видно, верно? или пока они не отображаются, система о них не знает?
Создай функцию, в которой будет создание окна. А по нажатии закрыть удаляй окно
Код:
GUIDelete()
 
Автор
B

BaRsupillamy

Новичок
Сообщения
58
Репутация
0
я так и делал :smile: смотрю исходники на SynFolders... она для меня во многом примером стало и вдохновило на переделку собственной идеи... вот и меня понять, почему там не так сделано... всем спасибо, тема закрыта :smile:
 
Автор
B

BaRsupillamy

Новичок
Сообщения
58
Репутация
0
тема снова открыта :(
помогите, пожалуйста, разобраться...
если использовать WM_NOTIFY, то из него уже создать другое окно нельзя, да?
т.е. я по двойному клику вызываю функцию, в ней создаётся окно... и всё зависает...
потому в SynFolders и прячут окна, а потом просто делают их видимыми? или я неправильно что-то понял?


Добавлено:
Сообщение автоматически объединено:

если ту же функцию создания окна вызываю по кнопке через
Код:
Switch GUIGetMsg()

то всё работает
 
Верх