Автор | Сообщение |
|
| |
Пост N: 6013
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.09.16 16:35. Заголовок: [?] Модальное окно
Приложение родило модальное окно , каким образом свернуть все приложение в панель задач , не закрывая модального окна ?
|
|
|
Ответов - 16
[только новые]
|
|
|
| постоянный участник
|
Пост N: 5103
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.09.16 16:45. Заголовок: Если знаешь все имен..
Если знаешь все имена открытых окон, то делай так: DoMethod( cFormName, "Minimize" ) А можешь и все свернуть, а для модального окна сделать: DoMethod( cFormName, "Restore" )
|
|
|
|
| |
Пост N: 6014
Зарегистрирован: 17.05.05
|
|
Отправлено: 16.09.16 17:34. Заголовок: да но на модальном н..
да но на модальном нет кнопочки свернуть....рядом с крестиком. предлагаешь забацать свою спец кнопку ?
|
|
|
|
| постоянный участник
|
Пост N: 5105
Зарегистрирован: 12.09.06
|
|
Отправлено: 16.09.16 19:54. Заголовок: Dima пишет: предлаг..
Dima пишет: цитата: | предлагаешь забацать свою спец кнопку ? |
| Да не обязательно делать свою кнопку. Можешь при создании модального окна сделать следующее: DEFINE WINDOW Form_Cnf ; MODAL ; ON INIT { || DoMethod( cFormName1, "Minimize" ), DoMethod( cFormName2, "Minimize" ), ....,; SetProperty("Form_Cnf", "Topmost", .T.), DoMethod( "Form_Cnf", "Restore" ), SetProperty("Form_Cnf", "Topmost", .F.) }
|
|
|
|
| |
Пост N: 6015
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.16 13:42. Заголовок: Andrey Ты вопрос не..
Andrey Ты вопрос не понял. В программе заполняется некий документ , вызываю справочник , который живет в модальном окне. Вопрос: как свернуть все приложение не закрывая справочник ? Ведь у модального окна нет кнопки свернуть.
|
|
|
|
| постоянный участник
|
Пост N: 1272
Зарегистрирован: 27.01.07
|
|
Отправлено: 17.09.16 14:48. Заголовок: Если ты имеешь ввиду..
Если ты имеешь ввиду "свернуть руками", то WIN-D должно помочь.
|
|
|
|
| |
Пост N: 6016
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.09.16 14:57. Заголовок: PSP пишет: Если ты ..
PSP пишет: цитата: | Если ты имеешь ввиду "свернуть руками", то WIN-D должно помочь. |
|
|
|
|
|
| постоянный участник
|
Пост N: 1273
Зарегистрирован: 27.01.07
|
|
Отправлено: 17.09.16 15:07. Заголовок: Можно также мышой щё..
Можно также мышой щёлкнуть в области правого нижнего угла экрана, если wинда 7/8/10. На XP отдельный ярлык. Ну, ты знаешь)
|
|
|
|
| постоянный участник
|
Пост N: 679
Зарегистрирован: 13.10.05
|
|
Отправлено: 30.03.17 19:40. Заголовок: Приложение родило м..
цитата: | Приложение родило модальное окно |
| В модальном окне куча полей, я редактирую запись, для этого хотелось бы при открытом модальном окне иметь возможность вызывать справочники, т.е открывать другие окна. В МиниГуи ни как .В Делфи нельзя вернуться в родительское окна, а справочник вызвать - без проблем
|
|
|
|
| постоянный участник
|
Пост N: 5339
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.03.17 20:15. Заголовок: Vlad04 пишет: иметь..
Vlad04 пишет: цитата: | иметь возможность вызывать справочники, т.е открывать другие окна. В МиниГуи ни как |
| Да я тоже с этим столкнулся. Пришлось переделывать на обычное окно ....
|
|
|
|
| |
Пост N: 1077
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.03.17 20:35. Заголовок: Vlad04 пишет: нельз..
Vlad04 пишет: цитата: | нельзя вернуться в родительское окна, а справочник вызвать - без проблем |
| Из модельного вызывай модальное сколько угодно
|
|
|
|
| |
Пост N: 6350
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.03.17 20:52. Заголовок: Haz пишет: Из модел..
Haz пишет: цитата: | Из модельного вызывай модальное сколько угодно |
| +1 Работает
|
|
|
|
|
| постоянный участник
|
Пост N: 680
Зарегистрирован: 13.10.05
|
|
Отправлено: 31.03.17 13:47. Заголовок: :sm36: попробую..
попробую
|
|
|
|
| |
Пост N: 354
Зарегистрирован: 03.12.08
|
|
Отправлено: 13.05.17 12:34. Заголовок: Создал форму (модаль..
Создал форму (модальное окно) - активизировал его , но есть косяки : Если ГЛАВНОЕ окно программы (main) не скрыто - то моё модальное окно видимо НА ФОНЕ главного окна программы , а (логично) должно быть на фоне последнего выведенного окна программы (или всех открытых окон программы ) .... Если main-окно скрыто ( .HIDE) , то всё происходит как и должно быть : отображаются все окна , выведенные до этого , а поверх них моё модальное .... Как побороть эту бяку ?
|
|
|
|
| постоянный участник
|
Пост N: 1462
Зарегистрирован: 09.10.06
|
|
Отправлено: 13.05.17 13:50. Заголовок: Softlog86 пишет: Со..
Softlog86 пишет: цитата: | Создал форму (модальное окно) - активизировал его |
| поздравляю 100%, но где и у кого? цитата: | моё модальное окно видимо НА ФОНЕ главного окна программы |
| это логично, поскольку в большинстве случаев родительским окном модального является главное окно программы (по крайней мере в MiniGUI). цитата: | а (логично) должно быть на фоне последнего выведенного окна программы (или всех открытых окон программы ) |
| а это не логично (по крайней мере для Роберто), но, думаю, возможно. Но здесь все в руках программиста, т.е. ваших, а не библиотеки. Библиотека представила вам _HMG_InplaceParentHandle (конечно, не совсем для этих целей, но все же.) _HMG_InplaceParentHandle := LastOpenedForm.Handle ModalCreateAndShow() _HMG_InplaceParentHandle := 0 цитата: | Если main-окно скрыто ( .HIDE) , то всё происходит как и должно быть : отображаются все окна , выведенные до этого , а поверх них моё модальное .... |
| А здесь в чем вопрос? DisableWindow( hMainWindow ) ModalShow() EnableWindow( hMainWindow ) Softlog86 пишет: Собственную лень ? Я для себя такого ответа еще не нашел
|
|
|
|
| постоянный участник
|
Пост N: 1463
Зарегистрирован: 09.10.06
|
|
Отправлено: 13.05.17 14:05. Заголовок: Петр пишет: Disabl..
Петр пишет: цитата: | DisableWindow( hMainWindow ) ModalShow() EnableWindow( hMainWindow ) |
| Вернее не DisableWindow/EnableWindow, а ShowWindow/HideWindow, но и такое поведение может пригодится.
|
|
|
|
| постоянный участник
|
Пост N: 1440
Зарегистрирован: 17.02.12
|
|
Отправлено: 13.05.17 15:48. Заголовок: Петр :sm36: Доба..
Петр Добавлю, установив родителя окну, будут "работать" координаты относительно родителя. Пример в Tsb_addrecord_3 Func Add_Rec(...) ... Local hWnd := GetFormHandle(cWnd) Local hInpl := _HMG_InplaceParentHandle _HMG_InplaceParentHandle := hWnd ... nRow := :nTop + GetWindowRow(hWnd) - GetBorderHeight() nCol := :nLeft + GetWindowCol(hWnd) - GetBorderWidth () + 1 ... nRow += nY nCol += nX ... DEFINE WINDOW wNewRec ; AT nRow, nCol WIDTH nWdt HEIGHT nHgt TITLE '' ; ... _HMG_InplaceParentHandle := hInpl ...
|
|
|
|