|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.12.2007, 14:17 | #21 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Это переменная которая отслеживает нажата ли кнопка мыши или нет.
Тип Boolean. Ктонибудь знает как побороть мерцание? Вот исходник в котором воплотил все замечания этой ветки... АДД: кривой исходник )
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... Последний раз редактировалось Карась; 31.12.2007 в 14:20. |
31.12.2007, 15:27 | #22 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
А что именно "не идет"? Я ведь и давал не столько код, сколько отдельные советы.
Вот исходники графического редактора, который я делал несколько лет назад. До идеала там далеко, но кое-что делать можно. |
31.12.2007, 15:30 | #23 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Цитата:
Чтобы его не было, нужно не перерисовывать, а рисовать. Перерисовка включает в себя очистку перед рисованием нового изображения, отсюда и мерцание. Как это сделать? Есть два способа: со своим битмапом - буфером, и со стандартной двойной буферизацией. Второй способ проще, но он не всегда может помочь, в данном случае он должен подойти. У многих компонентов есть свойство DoubleBuffered, в том компоненте на к-ром выводится изображение присвойте этому свойству True. Мерцание должно стать заметно меньше или пропасть совсем. Если этот способ не очень помогает, или графика обновляется по таймеру, тогда есть первый способ, с ним гарантировано мерцания не будет. Суть этого способа: рисуете фон в буфере (в памяти, не выводя на экран), поверх него рисуете что вам надо, выводите буфер на экран. Вуаля - изображение на экране обновилось, а очистки не было.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
01.01.2008, 11:03 | #24 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
А почему presslm не работает?Когда tform1.image1mousemove ничего не происходит,а когда tform1.mousemove получается,опять таки косо!
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
|
01.01.2008, 14:31 | #25 | |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
PressLm, переменная типа boolean.
При нажатие на кнопку мыши (MouseUp) этой переменой присваевается значение True. При движении мыши (MouseMove) идёт сверка этово значение, что и видно в моём коде: Цитата:
Как только мы отпустим кнопк мыши (MouseDown), то переменной PressLm присвоится значение False. И уже услови в MouseMove будет ложно и небудет выполняться. Вообщето можно было обойтись без этой переменной, но я забыл код клавиши мыши.... С мерцанием поборолся.. Только почему в свойствах обьектов таково свойства нету? Ево я смог выставить программно да и то,только у Form. АДД: Кидай исходник..
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... Последний раз редактировалось Карась; 01.01.2008 в 14:41. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ластик как в Paint | Николая Ленин | C# (си шарп) | 2 | 29.03.2015 17:31 |
ластик(графический редактор) | AndersonEgo | C# (си шарп) | 1 | 29.05.2011 16:51 |
image1.Refresh;image1.Repaint; | Symba | Общие вопросы Delphi | 5 | 24.04.2011 03:53 |
Растягивание имиджа! | Marsik | Помощь студентам | 20 | 07.11.2007 18:56 |