|
|
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Всем привет! 15 лет не занимался программированием, но вот судьба сделала в жизни поворот))..приходится осваивать заново. Задача: в БД хранятся данные о продолжительности некоторых процессов производства. На форме разлинована временная шкала. На этой шкале, в соответствие с данными в БД, размещены динамические объекты(TPanel) соответствующие этим процессам.(типа диаграммы ганта получается) с помощью мыши есть возможность перетаскивать эти объекты по временному полю, в соответствие с этим меняются данные о сроках в БД. Объект создается так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. событие OnMouseDown - отлично отрабатывает. объекты перемещаются данные в БД меняются. Теперь возникла задача при двойном клике на панели открывать форму с данными, но событие OnDblClick не отрабатывается. Попытался решить проблему с помощью PopUp меню, но при правом клике на панели вылетает ошибка "raised exception class EInvalidOperation with message 'Cannot drag a form'." чего то фундаментального я видимо не понимаю...причем тут Drag a Form, если я правую кнопку мыши нажимаю(тачпада если быть точным)...и почему не работает OnDblClick(как в прочем и любое другое событие) пните плиз в нужном направлении...заранее благодарен. Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 11:54 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
oleg_maestro но событие OnDblClick не отрабатывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 12:10 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий oleg_maestro но событие OnDblClick не отрабатывается. а чего ее искать? Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 12:26 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Как вы собираетесь отрабатывать DblClick, если первый Click - это начало перетаскивания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 12:31 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 12:36 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
DimaBr Как вы собираетесь отрабатывать DblClick, если первый Click - это начало перетаскивания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 13:08 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
DimaBr, не совсем понял...вы мне предложили отказаться от Drug&Drop? за setBounds спасибо...немного сократили код)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 13:09 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
oleg_maestro DimaBr, не совсем понял...вы мне предложили отказаться от Drug&Drop? DragMode = dmAutomatic убивает OnClick ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 13:25 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
DimaBr Как вы собираетесь отрабатывать DblClick, если первый Click - это начало перетаскивания да я понял уже что в этом дело... в общем сделал DragMode:=dmManual; и чтобы таскать можно было только при нажатом Alt c "Cannot drag a form" тоже разобрался. в обработчике MouseDown было написано просто BeginDrag(True) ; и он естественно начинал таскать саму форму. исправил на (sender as TPanel).BeginDrag(True) ; вроде все заработало! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 13:33 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Gerasimenko Мимопроходящий пропущено... ищи причину. а чего ее искать? Код: pascal 1. и вот получается что неправильно вы дядя Федор бутэрброд скушали... ошибка была в DragMode:=dmAutomatic; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 13:52 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
oleg_maestro Gerasimenko пропущено... а чего ее искать? Код: pascal 1. и вот получается что неправильно вы дядя Федор бутэрброд скушали... ошибка была в DragMode:=dmAutomatic; кинь панельку на пустую форму (D7) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 14:01 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
DimaBr, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. все работает...и таскает левой кнопкой без всякого alt и dblclick отрабатывает и popup меню показывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 14:01 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Gerasimenko oleg_maestro пропущено... и вот получается что неправильно вы дядя Федор бутэрброд скушали... ошибка была в DragMode:=dmAutomatic; кинь панельку на пустую форму (D7) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. (проверить, что отработает: Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 14:32 |
|
||
|
Динамические объекты их Drug&Drop и DblClick
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, да возникли неожиданности. в частности после того как закрывается форма, вызванная даблкликом на объекте начинает выполняться TF_Grafik.FormDragOver...а мне это совсем не нужно)) будем что то придумывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2020, 16:45 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39984323&tid=2038119]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 489ms |

| 0 / 0 |
