|
|
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, функция Windows.RectVisible - процедура, показывает, пересекается ли подсовываемый ей в параметрах Rect с... с кем? с canvas.cliprect? Если так, то почему-то частенько дает утвердительный ответ на два не пересекающиеся региона. Про отрицательный ответ на пересекающиеся - такого не замечал. С кем она сравнивает? Сижу, пошагово разглядываю функцию Paint стандартного грида, и наткнулся на такое вот безобразие. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2018, 20:06 |
|
||
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2018, 20:55 |
|
||
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
V.Borzov, Еще учти, что при двойной буферизации реальный ClipRect игнорируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2018, 21:01 |
|
||
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
rgreat https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd162908(v=vs.85).aspx Получается тогда, описание функции в Дельфи и ее использование так if (Where.Right > Where.Left) and RectVisible(Canvas.Handle, Where) then begin не соответствует ее правильному описанию? Возвращаться может много значений. И что там вернулось в результате (пример взят из модуля grids), еще не известно. Ну, то есть, доверять коду в таком виде нельзя, получается.... Соколинский БорисЕще учти, что при двойной буферизации реальный ClipRect игнорируется. То есть вся прорисовка происходит каждый раз заново? но ClipRect все равно определен, даже если DoubleBuffered. Проверить пошагово только трудно, ибо на экране не увидишь результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 14:38 |
|
||
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
V.BorzovТо есть вся прорисовка происходит каждый раз заново?Вся вписанная в экран часть окна. V.Borzov но ClipRect все равно определен, даже если DoubleBuffered. Он тупо соответствует всему см. выше. Для пошаговой проверки есть специальное средство, называется "лог". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 15:01 |
|
||
|
Функция по Windows.RectVisible странно ведет себя
|
|||
|---|---|---|---|
|
#18+
Соколинский БорисДля пошаговой проверки есть специальное средство, называется "лог". Лог, это как? Хочу посмотреть, как грид прорисовывает содержимое своих ячеек, пошагово. при DoubleBuffered = false это легко рассматривать, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2018, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39626366&tid=2041040]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
185ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 492ms |

| 0 / 0 |
