Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
16.03.2012, 10:56
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
добрый день всезанующий алл я не гуру в РВ, но пишу на нем некоторый код. под рукой имею РВ 9.0 если нужно еще на что-то посматреть, скажите на что и где это увидеть, я отвечу. имею следующую проблему: у меня MDI приложение. в нем я открываю окно, максимизирую его по всей области MDI, но при вызове дочерней формы из нее, на событие добавление или правки - мое родительское окно возвращается в размерах, как до максимизирования. в чем может дело? как это можно лечить? чтобы родительские окна оставались заполненными в MDI приложении, либо сохраняли размер приданный им пользователем, будь то просто ресайзбл ??? огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.03.2012, 11:31
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
Каким образом (методом) вызывается дочерняя форма? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.03.2012, 15:55
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
я даже не знаю как ответить на этот вопрос на конструкторе у dw this.inv_parmlinkage.of_setdetailwindow("w_card","s") кнопка от u_cb_add u_cb_add имет событие clicked integer li_returnresult if isValid(idw_parent) then idw_parent.Post Event pfc_addrow() else of_parentinvalid() end if не очень силет в наследованиях в РВ. но нужно разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
16.03.2012, 18:43
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
О, это PFC. Рекомендую отладчиком найти что то типа open(<имя_вашего_окна>) или opensheet(<имя_вашего_окна>) и рассказать нам. От метода вызова (открытия) зависит поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.03.2012, 10:09
|
|||
---|---|---|---|
|
|||
MDI c ресайзом окон |
|||
#18+
Окно скорее всего открывается в режиме Нормал. Поэтому Максимайз снимается. Нужно перед открытием окна определять в каком режиме родительское окно. И после открытия дочернего восстанавливать режим. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.03.2012, 12:13
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
w_sheet lw_sheet w_master lw_master IF this.is_detailwindowtype = "s" THEN window lw_immediate_parent window lw_mdi_frame this.idw_requestor.of_GetParentWindow( lw_immediate_parent ) lw_mdi_frame = lw_immediate_parent.ParentWindow() OpenSheetWithParm (lw_sheet, this, this.is_detailwindowname, lw_mdi_frame, 0, original!) ELSEIF this.is_detailwindowtype = "w" THEN this.of_refreshdwparms() OpenWithParm (lw_master, this, this.is_detailwindowname) END IF RETURN 1 вышел вот на это что-то еще конкретное посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.03.2012, 12:08
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
Вот оно: original! Andrew Nagorny выше описал как обойти. Просто он original! назвал Нормал, что в принципе, ничего не меняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.03.2012, 16:03
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
windowstate aws_windowstate w_sheet lw_sheet w_master lw_master IF this.is_detailwindowtype = "s" THEN window lw_immediate_parent window lw_mdi_frame this.idw_requestor.of_GetParentWindow( lw_immediate_parent ) lw_mdi_frame = lw_immediate_parent.ParentWindow() aws_windowstate = lw_immediate_parent.ParentWindow().WindowState OpenSheetWithParm (lw_sheet, this, this.is_detailwindowname, lw_mdi_frame, 0, Original!) lw_immediate_parent.ParentWindow().WindowState = aws_windowstate ELSEIF this.is_detailwindowtype = "w" THEN this.of_refreshdwparms() OpenWithParm (lw_master, this, this.is_detailwindowname) END IF RETURN 1 в момент исполнения aws_windowstate = Maximized! однако родительскому фрейму состояние не присваевается. т.е. оно не расширяется. что я не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.03.2012, 17:37
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
Попробуйте pfc_open Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.03.2012, 09:27
|
|||
---|---|---|---|
|
|||
MDI c ресайзом окон |
|||
#18+
Восстанавливать нужно состояние не парент окна, а приводить состояние открытого окна к бывшему состоянию парент окна. OpenSheetWithParm (lw_sheet, this, this.is_detailwindowname, lw_mdi_frame, 0, Original!) переделать>>>>> OpenSheetWithParm (lw_sheet, lstr_params , this.is_detailwindowname, lw_mdi_frame, 0, Original!) где lstr_params = структура с 2-мя полями (создайте отдельно) 1) содержит this 2) содержит aws_windowstate В pfc_postopen нового открытого окна напишите скрипт lstr_params = Message.PowerObjectParm this.WindowState = lstr_params.ws_windowstate .... если не сработает, то выражение this.WindowState = lstr_params.ws_windowstate выведите в функцию окна и вызывайте ее через POST в pfc_postopen. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.03.2012, 20:53
|
|||
---|---|---|---|
MDI c ресайзом окон |
|||
#18+
Вы наверное из Альфы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2012, 10:28
|
|||
---|---|---|---|
|
|||
MDI c ресайзом окон |
|||
#18+
Если Вы меня спрашиваете - то нет.) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=15&mobile=1&tid=1335565]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 259ms |
0 / 0 |