|
|
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
В MDI-приложении есть главная форма uMain и дочерние формы uChartAcc, uGas. На дочерней форме сверху вниз расположены: Panel, Dbgrid, dbedit, dbmemo. В клиентской области главной формы не видна нижняя часть дочерней формы(компоненты dbedit, dbmemo) и появляется вертикальная прокрутка. Хочу полностью отображать дочернюю форму в client area главной форме, без полосы прокрутки. Главная форма: Formstyle:MDIForm WindowState: wsMaximized дочерние формы: Formstyle:MDIChild Align- alClient или alCustom Position-пробовал poDefaultPosOnly, poDefault, poDesigned AutoSize:false Пробовал установки размеров формы поместить в процедурах OnCreate, OnShow, OnResize но ничего не меняется. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. https://drive.google.com/drive/folders/109sBbcJ5VBRE7V0iO_mEiobgPrfuzaTN?usp=sharing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 19:11 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
У главной формы отключить AutoScroll пробовал? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 19:56 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, AutoScroll главной формы false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 20:05 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 20:08 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
Для доступа к клиентской области MDIForm используют ClientHandle Windows.GetClientRect(fMain.ClientHandle, clRect) , где clRect: TRect Для дочерних окон можно выставить WindowState = wsMaximazed И обратите внимание на создание дочерних форм - потенциальное место утечки памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 20:35 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
SimplTsarДля дочерних окон можно выставить WindowState = wsMaximazed SimplTsar, так неправильно работает-во первых, не полностью помешается dbMemo, dbGrid дочерней формы на экран, во вторых, кнопки дочерней формы поднимаются в main menu главной формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2018, 22:41 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
bastibubuтак неправильно работает-во первых, не полностью помешается dbMemo, dbGrid дочерней формы на экран, во вторых, кнопки дочерней формы поднимаются в main menu главной формыТаки как раз работает правильно. В винде это и есть самый что ни на есть нативный mdi. Все остальное только самописное. На правах рекламы, в наших компонентах есть такое - для создания "вкладочного" mdi 🙂 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 00:51 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
блин, и эти люди через несколько лет придут на смену нормальным программистам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 01:09 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
Чтобы не было скроллов -- надо у дочерних форм корректно настроить расположение контролов, чтобы их размер подходил под любые окна. Например, выставить Align и Anchors. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 02:29 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
JaDiЧтобы не было скроллов -- надо у дочерних форм корректно настроить расположение контролов, чтобы их размер подходил под любые окна. Например, выставить Align и Anchors. JaDi , убрал все контролы дочерней формы, пробовал align= alClient, alNone ничего не меняется. Сделал дочернюю форму минимального размера- то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 02:39 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
bastibubu, Во-первых, формы там открываются в обычном режиме, т.е. не развернуты на всё mdi-окно. Надо открыть формы и выставить в них WindowState на wsMaximized (либо при создании эти настройки выставлять). После чего всё будет открываться корректно и никаких скроллов или доп настроек. Как выглядит на XE6: А это с компонентом DevExpress для MDI (раз уж выше его упомянули): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 02:59 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
bastibubu, еще у самих форм типа TfChartAcc надо отключить Align в None, иначе они начинают глючить и не могут корректно менять размер. А заодно убрать свой код по смене размера. Короче, чисто формы по умолчанию оставить без своего велосипедного кода -- и всё заработает как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 03:15 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 03:17 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
JaDi, Если выставить WindowState на wsMaximized нижняя часть формы все равно не видна до конца. Кроме этого, в правом угле, на Main Menu накапливаются триады кнопок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 03:31 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
bastibubu, потому что надо отключить Align у создаваемых форм (см. пост выше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 05:08 |
|
||
|
Как полностью отображать дочернюю форму в главной форме MDI-приложении, без прокрутки
|
|||
|---|---|---|---|
|
#18+
JaDibastibubu, потому что надо отключить Align у создаваемых форм (см. пост выше). JaDi , WindowsState=maximized, align=none, убрал свой код установки размеров и заработал! Спасибо вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 14:41 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2040047]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 436ms |

| 0 / 0 |
