|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Приветствую, всезнающий ALL! Я перемещаю панель на форме следующим образом: на событие MouseDown прописываю: ReleaseCapture; myPanel.Perform(WM_SysCommand, $F012, 0); И панель, замечательно таскается мышью за его "тело". :) А есть ли возможность ограничить перемещение по одной оси, скажем по горизонтали? Что бы я могла таскать панельку только вверх - низ. P.S. Способ с запоминанием координат мыши на MouseDown и последующим изменением .top и .left панели прошу не предлагать. Заранее благодарна за помощь! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 10:39 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___Z> Способ с ... изменением .top и .left панели прошу не предлагать. Почему? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 11:36 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___ZА есть ли возможность ограничить перемещение по одной оси, скажем по горизонтали? https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-moving Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 12:58 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___Z, Можно попробовать ClipCursor, но, если я не ошибаюсь, там какие-то заморочки, если мониторов больше одного. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 16:04 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Там тачкрин. При нажатии на него событие MouseDown не наступает. Запомнить текущие координаты не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 17:56 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, спасибо за участие, прочитала, но ничего толком не поняла (( тем более, что насколько я понимаю, там будет двигаться только рамочка, а не сама панелька. Если можно, прошу пример как это использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 17:59 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Polesov, спасибо за участие, но не помогло... написала этот код, но панель как двигалась без ограничений так и продолжает двигаться Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 18:09 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___Z Polesov, спасибо за участие, но не помогло... написала этот код, но панель как двигалась без ограничений так и продолжает двигаться Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Irina___ZТам тачкрин. При нажатии на него событие MouseDown не наступает . А в обработчик MyPanelMouseDown попадаем? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 18:13 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Polesov, Это я уже мышкой таскала панель. Мышь конечно MouseDown вызывает, но все равно код не ограничивает движение мыши. может из за того, что зажата ЛКМ ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 18:26 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___Z Это я уже мышкой таскала панель. Ну, тогда совет от Dimitry Sibiryakov: Объявление: Код: pascal 1. 2. 3. 4. 5.
Реализация: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 18:51 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Polesov, Спасибо! Этот код ограничивает перемещение формы по вертикали. Но я не могу понять, как мне этот код адаптировать к панели? Мне надо что бы панель была ограничена в перемещении.. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 20:17 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Polesov Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 20:25 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
white_nigger Polesov Код: pascal 1.
Акамущаслихко? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 20:38 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___Z Но я не могу понять, как мне этот код адаптировать к панели? Написать наследника? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 20:39 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Без наследника: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 21:52 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Irina___ZЭтот код ограничивает перемещение формы по вертикали. Но я не могу понять, как мне этот код адаптировать к панели? Разве обрабатывать сообщение, приходящее панели, вместо формы - не самоочевидно?.. Без наследника: https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.TControl.WindowProc Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 22:10 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Исправление для корректной работы, когда панель больше клиентской области родителя: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2021, 22:49 |
|
Perform(WM_SysCommand, $F012, 0) как ограничить перемещение по одной оси?
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, Большое Вам спасибо! Все получилось, правда только при управлении мышью. С тачскрином, к сожалению, не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2021, 16:05 |
|
|
start [/forum/topic.php?fid=58&msg=40095210&tid=2037047]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 156ms |
0 / 0 |