Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Эффект при рисовании в Scrolled Form / 12 сообщений из 12, страница 1 из 1
18.09.2009, 23:44
    #36205431
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Ковырялся тут с рисованием в обычной форме - всё нормально, за мышью тянется пунктир выделения. Остриё мыши совпадает с нижним краем пунктира. Так и должно быть. Но стоит форму про- Scroll 'лить и появляется погрешность-разрыв между остриём мыши и нижним краем пунктира. Как Вы уже догадались - погрешность-разрыв равна величине Scroll. Это видно и в рисунках. При горизонтальном Scroll'е появляется точно такой же горизонтальный эффект.

Как победить погрешность, как я понял через св-ва формы величина скроллов не определяется. Т.е., надо если Scroll был, вводить поправку на величину скролла. Т.е., нужно, чтоб координаты мыши в экране (MROW(This.Name,3), MCOL(This.Name,3)) определялись не в истинную величину окна (This.Name), а в видимую величину окна...
...
Рейтинг: 0 / 0
19.09.2009, 00:01
    #36205453
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Кстати, если форму про- Scroll 'ить обратно - разрыв между остриём выделяющего курсора и краем пунктира пропадает, словно и не было. Ну это тоже понятно, я думаю...
...
Рейтинг: 0 / 0
19.09.2009, 14:49
    #36205685
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Валентин Н.Карелиннадо если Scroll был, вводить поправку на величину скролла.
Для 9-ки примерно так:
Код: plaintext
1.
2.
3.
4.
5.
wait wind trans(mrow(This.Name, 3 ))+chr( 13 )+;
          trans(mrow())+chr( 13 )+;
          trans(mrow( 0 ))+chr( 13 )+;          
          "Смещение скролла: " +;
          trans(This.Height / wrows() * (mrow( 0 )-mrow())) nowait
...
Рейтинг: 0 / 0
19.09.2009, 16:22
    #36205735
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Валентин Н.Карелиннадо если Scroll был, вводить поправку на величину скролла.
Сама поправка даже короче: mrow(0,3)-mrow(This.Name,3)

Впрочем, это уже не важно, раз есть This.ViewPortTop.
...
Рейтинг: 0 / 0
19.09.2009, 19:57
    #36205835
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Спасибо за ответ, GrammerPro .
Вот ещё хочу ViewPortTop и ViewPortLeft поковырять.
...
Рейтинг: 0 / 0
19.09.2009, 20:36
    #36205871
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Валентин Н.КарелинВот ещё хочу ViewPortTop и ViewPortLeft поковырять.
Конечно. Хоть This.ViewPortTop и равно mrow(0,3)-mrow(This.Name,3), но
видим лучше использовать более четкий This.ViewPortTop, а координата
будет:

mouse_x = mrow(This.Name, 3) + This.ViewPortTop
...
Рейтинг: 0 / 0
19.09.2009, 20:51
    #36205888
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Сйчас подумал - а может Вам можно забыть про скролл, и просто
вместо mrow(This.Name,3) использовать mrow(0,3) ...
...
Рейтинг: 0 / 0
20.09.2009, 03:05
    #36206138
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
GrammerProСйчас подумал - а может Вам можно забыть про скролл, и просто
вместо mrow(This.Name,3) использовать mrow(0,3) ...Я бы с радостью " забыл " про Scroll, но у заказчика мониторы 800х600 (бабушки-бухгалтера). И высыпать им на экран 400-500 объектов, каждый от 45 пикселей и выше я никак не смогу без Scroll'а. Увы...

Или я что-то не понял?
...
Рейтинг: 0 / 0
20.09.2009, 09:51
    #36206164
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Валентин Н.КарелинИли я что-то не понял?
Или я не так выразился. :)
Имел в виду, что от скролла отказываться не нужно, а борьба с описанным Вами
нежелательным эффектом может свестись к замене в программе конструкции
mrow(This.Name,3) на mrow(0,3).
...
Рейтинг: 0 / 0
20.09.2009, 23:32
    #36206608
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
GrammerProборьба с описанным Вами
нежелательным эффектом может свестись к замене в программе конструкции
mrow(This.Name,3) на mrow(0,3).Я щя маленя отвлёкся от проблемы, поэтому чёт не понял. Предположим, моё окно расчиталось через количество объектов на 1275х990. На экран вышло 800х600+Scroll. И при прокрутке имеем неприятные моменты, описанные выше. Но только при прокрутке, хотя бы на 1 пиксель. Вернулось окно обратно - неприятные моменты исчезли. Получается, если я заменю в программе конструкцию MROW(This.Form,3) на MROW(0,3) - неприятных моментов не будет НИКОГДА , сколько бы я не крутил окно? Я правильно понял?
...
Рейтинг: 0 / 0
21.09.2009, 08:57
    #36206793
GrammerPro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
Валентин Н.КарелинПолучается, если я заменю в программе конструкцию MROW(This.Form,3) на MROW(0,3) - неприятных моментов не будет НИКОГДА , сколько бы я не крутил окно? Я правильно понял?
Да, мне кажется так.

Ведь похоже, что все остальные координаты и свойства Top и Left
объектов не зависят от скролла, это только мышь дала слабину.

But, never say NEVER... :)
...
Рейтинг: 0 / 0
21.09.2009, 10:54
    #36207034
Валентин Н.Карелин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эффект при рисовании в Scrolled Form
GrammerProВедь похоже, что все остальные координаты и свойства Top и Left
объектов не зависят от скролла, это только мышь дала слабину.Ясно. На днях попробую, тогда посмотрим. С налёта не хочу - что-нибудь не так сделаешь, или где-то не исправишь, и конфуз... Вообще, MROW(0,3) по логике похоже на таблетку :) ...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Эффект при рисовании в Scrolled Form / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]