|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
добрый день всезанующий алл я не гуру в РВ, но пишу на нем некоторый код. под рукой имею РВ 9.0 если нужно еще на что-то посматреть, скажите на что и где это увидеть, я отвечу. имею следующую проблему: у меня MDI приложение. в нем я открываю окно, максимизирую его по всей области MDI, но при вызове дочерней формы из нее, на событие добавление или правки - мое родительское окно возвращается в размерах, как до максимизирования. в чем может дело? как это можно лечить? чтобы родительские окна оставались заполненными в MDI приложении, либо сохраняли размер приданный им пользователем, будь то просто ресайзбл ??? огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 10:56 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Каким образом (методом) вызывается дочерняя форма? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 11:31 |
|
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, 15:55 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
О, это PFC. Рекомендую отладчиком найти что то типа open(<имя_вашего_окна>) или opensheet(<имя_вашего_окна>) и рассказать нам. От метода вызова (открытия) зависит поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 18:43 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Окно скорее всего открывается в режиме Нормал. Поэтому Максимайз снимается. Нужно перед открытием окна определять в каком режиме родительское окно. И после открытия дочернего восстанавливать режим. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 10:09 |
|
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 вышел вот на это что-то еще конкретное посмотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2012, 12:13 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Вот оно: original! Andrew Nagorny выше описал как обойти. Просто он original! назвал Нормал, что в принципе, ничего не меняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2012, 12:08 |
|
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, 16:03 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Попробуйте pfc_open Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2012, 17:37 |
|
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, 09:27 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Вы наверное из Альфы? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 20:53 |
|
MDI c ресайзом окон
|
|||
---|---|---|---|
#18+
Если Вы меня спрашиваете - то нет.) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2012, 10:28 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1335565]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 267ms |
0 / 0 |