|
Дата: 24 Июл, 17:33
Всем добрый день!
Кто-нибудь знает, как поступить в такой ситуации?:
есть окно с текстовым полем ввода и кнопкой. Значит если в текстовом поле что-то есть, то при нажатии на кнопку открывается другое окно. Оба окна уже заранее созданы в PhAB, т.е. ничего динамически создавать не нужно. Внимание вопрос  - как закрыть первое окно при открывании второго (из кода)?
Спасибо! |
|
Дата: 25 Июл, 09:56
sen, закрыть или спрятать?
|
|
Дата: 25 Июл, 14:17
Закрыть, но можно и скрыть, только в последнем случае его потом нужно будет опять показать, чтобы завершить приложение полностью.
|
|
Дата: 25 Июл, 15:12
Закрыть - PtUnrealizeWidget( ABW_window1);
Но закрываются эти окна вместе и скрываются тоже вместе, так что придётся его оставить)
|
|
Дата: 28 Июл, 16:46
Легко! Не закрывать, а спрятать в невидимую область, т.е. примерно так:
PhPoint_t wid_pos;
wid_pos.x=-1000;
wid_pos.y=-1000;
PtSetResource(ABW_my_window, Pt_ARG_POS, &wid_pos, 0);
А вообще можно реализовать приложение по другому: не создавать два окна, а создать одно окно, в котором будет находиться, например два PtPane друг под ругом и функцией PtWidgetToFront() выставлять на передний план то один, то другой PtPane |
|
Дата: 29 Июл, 14:50
Помимо выноса окна в невидимую область хорошо бы ещё заблокировать возможность получения фокуса этим окном, вызова системного меню и пр.
|
|
Дата: 29 Июл, 18:38
проще его убрать...
через PtDestroyWidget например, убрать как говорится капитально )
|
|
Дата: 30 Июл, 10:43
Fregl через PtDestroyWidget например
В таком случае это приведет к закрытию дочерних окон. В частности, если другое окно создано после закрываемого, то и оно так же закроется. Я говорю о списке окон в пункте "Windows Opened/Start-Up" окна "Application Startup Information" (открывается на F2). |