|
|
|
Создать набор форм на главной форме
|
|||
|---|---|---|---|
|
#18+
Есть главная форма, в ней меню. По нажатию кнопок меню открываются формы и размещаются внутри основной формы, занимая всю выделенную площадь. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. При закрытии формы у нее срабатывает обнуление ссылки и уничтожение формы: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Однако, таким образом можно создать только одну форму одного типа (if fmRepairObject = nil then...). А мне надо, чтобы как в новой 1С-бухгалтерии, можно было открыть форму счетов, и в ней отрыть несколько счетов, которые сами становятся отдельными формами, т.е. все они становятся открытыми. Для этого очевидно, недостаточно одной переменной fmRepairObject, а нужно создавать где-то список с адресацией по id или номеру счета, чтобы при вызове счета, если он уже открыт, то его форма просто активировалась, а не создавалась заново. Может есть какие-то готовые компоненты для формирования подобных списков (невидимые пользователю, типа TActionList). Или подскажите, как лучше самому создать такой список, ObjectList или коллекцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2019, 07:00 |
|
||
|
Создать набор форм на главной форме
|
|||
|---|---|---|---|
|
#18+
кстати, может быть в меню в рантайме создавать элементы в пункте "Окна" и уничтожать их при закрытии окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2019, 07:06 |
|
||
|
Создать набор форм на главной форме
|
|||
|---|---|---|---|
|
#18+
ну, может не стоит выкидывать ссылки на созданные формы? вести список. при закрытии - удалять из списка. тогда у вас будет полный список ваших открытых форм, можете искать в нем по любому параметру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2019, 10:17 |
|
||
|
Создать набор форм на главной форме
|
|||
|---|---|---|---|
|
#18+
svnvlad, Как идея Код: pascal 1. 2. 3. 4. 5. 6. Код: 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. Перед открытием окна нужно найти окно с указанным идентификатором. Если нашли, то показываем, если нет - создаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2019, 11:23 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=58&tid=2039311]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
177ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 498ms |

| 0 / 0 |
