|
|
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Так у него же Paint перекрыт. А первой строчкой 100% стоит inherited. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 15:59 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
DimaBr А первой строчкой 100% стоит inherited. Не, он говорит, что затирание происходит до вызова перекрытого Paint. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 16:01 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
DimaBr Kazantsev Alexey Так у него же Paint перекрыт. А первой строчкой 100% стоит inherited. Не стоит. Это первое что тестировал со всех сторон. В может ли perform(WM_SysCommand, $F002+, 0) вызывать событие paint панели игнорируя мой перехват? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 16:27 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey DimaBr А первой строчкой 100% стоит inherited. Не, он говорит, что затирание происходит до вызова перекрытого Paint. Где-то до, так как на первой строчке Paint - панель уже закрашена. Kazantsev Alexey Андрей Игоревич И если суомпилирвать файл res в 7ке, то и в 10ке всё будет нормально. Не понял. Если взять .res файл от семёрки и подложить его в проект Delphi 10.3? Зачем класть, можно сначала скомпилировать программу на 7ке, а потом на 10ке, тогда 10ка подхватит созданный 7кой res (что, наверно, не есть хорошо, но работает прекрасно, пока у нас полностью совпадает содержание). Ну нравится мне интерфейс 7ки с кучей плагинов :). Потому писал на ней, а финально компилировать в 64 бита на 10ке, сейчас вот полностью переезжаю на 10ку, есть у неё некоторые приятные возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 17:00 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
Андрей Игоревич Зачем класть, можно сначала скомпилировать программу на 7ке, а потом на 10ке, тогда 10ка подхватит созданный 7кой res Похоже, кто-то очень любит нетрадиционный... гхм. Лучше бы уже определиться с версиями окончательно и не искать себе приключений на копчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 17:12 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2020, 23:53 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
.res от десятки включает манифест с 6й версией Common Controls, отсюда и артефакты ИМХО. Что-то там внутри поменялось (те же темы). Можно попробовать в 10ке в свойствах проекта отключить темы вообще (даже родные для винды) и посмотреть что изменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2020, 00:54 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
alekcvp .res от десятки включает манифест с 6й версией Common Controls, отсюда и артефакты ИМХО. Что-то там внутри поменялось (те же темы). Можно попробовать в 10ке в свойствах проекта отключить темы вообще (даже родные для винды) и посмотреть что изменится. Как включать всякие цветастые стили нашел, как отключать, пока не нашел ). Kazantsev Alexey Андрей Игоревич А вот перехват обработку сообщений я пока до конца не освоил, это через так делать? Нет, это делать так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. В общем разобрался как с этим работать, чтоб не мерцало. 1. Надо закрашивать панель в самом начале, при том за пределами границ, иначе на границах будут "артефакты" Brush.Color:=ClWhite; Rectangle(-2,-2,width+2,height+2); 2. С перехватом этого сообщения почему-то не работает рисование в буферном БитМапе с последующем присваивании через Canvas.CopyRect. Почему, не понял, ещё подумаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2020, 14:58 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
Андрей Игоревич, Советую экспериментировать не на боевом коде, а в новых тестовых проектах. Никакой жути, типа, рисования за пределами контрола не требуется - отрисовка по ClientRect закрашивает всё, без артефактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2020, 15:53 |
|
||
|
Создание компонента сложной формы (аккуратной контурной стрелки).
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Андрей Игоревич, Советую экспериментировать не на боевом коде, а в новых тестовых проектах. Никакой жути, типа, рисования за пределами контрола не требуется - отрисовка по ClientRect закрашивает всё, без артефактов. В принципе что хотел, получил, спасибо. Через WMEraseBkgnd(Var AMessage : TMessage); Но неужели нет никаких стандартных компонентов под такие задачи, чтоб не городить огород. Ведь в том же "билдере" всё это есть. Для тестирования накидал пару тысяч спидбатоннов, чтоб нагрузка на форму был, иначе "мерцания" и не увидеть. И, как раз через изменение размеров посредством отлова координат мыши - при больших нагрузка мерцает, а через perform(WM_SysCommand, $, 0) - нет; Может я как не неправильно размеры меняю? В принципе если через perform работает - то и ладно, но понять почему мерцает через второй способ - интересно. rкод из MouseMoveV2 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. alekcvp .res от десятки включает манифест с 6й версией Common Controls, отсюда и артефакты ИМХО. Что-то там внутри поменялось (те же темы). Можно попробовать в 10ке в свойствах проекта отключить темы вообще (даже родные для винды) и посмотреть что изменится. Нашел где отключается манифест, при отключении - и в старом коде ничего не мерцает. Но это не решение... Кстати, а можно как-то вышить "манифест" в код, у нас на рабочих компах все визуальный настройки в ноль выключены и 10ка как 98я выглядит, и программа там выглядит несколько иначе, нежели на компе, где я компилирую (и где ограничений нет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2020, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=39918429&tid=2038657]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 415ms |

| 0 / 0 |
