Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Paintbox, прогресс бар 
:(
    Опции темы
artem1987
Дата 28.7.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



где рисовать прогресс бар, чтобы он был ресайзабл, и т.д.
как нормальный прогресс, не пропадал...не вис.
спасибо за помощь. 
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Alexeis
Дата 28.7.2006, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(artem1987 @  28.7.2006,  11:23 Найти цитируемый пост)
где рисовать прогресс бар

А чем не устраивает стандартный прогрессбар TProgressBar, он ведь удовлетворяет
Цитата(artem1987 @  28.7.2006,  11:23 Найти цитируемый пост)
чтобы он был ресайзабл, и т.д.как нормальный прогресс, не пропадал...не вис.

 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artem1987
Дата 28.7.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



нужен замороченый, знаешь который рисуется при сканировании диска,
т.е.  разными цветами в дискретных позициях, много строчек,
сделал в паинтбохе он стирается если во время сканирования открыть др окошко,
виснит.че делать? 
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 28.7.2006, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Рисовать в OnPaint 
PM MAIL   Вверх
artem1987
Дата 28.7.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



дело в том, что я графикой не занимаюсь, больше системный программист,
WinAPI, устройства, вот первый раз столкнулся с программированием интерфейса программы.
можно поподробнее про OnPaint.
что делать по этому событию, как это поможет? 
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Alexeis
Дата 28.7.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



 событие OnPaint возникает каждый раз когда требуется перерисовка экрана, например, когда другое приложение накладывается и стирает содержимое окна. но прще рисовать в TImage, поскольку он сам востонавливает картинку. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artem1987
Дата 28.7.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



да я так уже и делаю.спасибо.
а по refresh или repaint это событие возникает? 
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 28.7.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Да 
PM MAIL   Вверх
artem1987
Дата 28.7.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



получается каждый раз разный Image надо рисовать.
я хотел бы, чтоб при выполнении какой-либо операции(по завершении)
вызывалась ф-я подрисовки ещё одной позиции в прогресс бар,
который бы менял масштабируемость прямо на лету при изменениии размеров окна.
чем мне лучше воспользоваться? 
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 28.7.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Создай TBitmap. Дорисовывай на него.
А в онпаинт копируй этот битмап на свой котрол.
Так уж устроена винда - при отрисовке нужно рисовать всё целиком. 
PM MAIL   Вверх
artem1987
Дата 1.8.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



я сделал так чтобы он ресайз с битмапа постоянно копировалось на канву пэйнтбокса
с пересчетом масштаба, а в он шоу последнее состояние битмапа--->задумка работает, в поряде.
но исполнение не нравится- слишком сильно мерцает изображение при ресайзе.
есть ли от этого спасение?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Alexeis
Дата 1.8.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Это скорее всего операция изменения размеров работает медедленно, можно вообще во время изменения размеров не прорисовывать картинку или делать отрисовку с задержкой (чтоб не каждый кадр рисовать).


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artem1987
Дата 1.8.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



я видел как у BinaryBiz этот progressbar нормально ресайзится.
а мне надо ещё и текущую инфу отображать.
сильно поможет задержка отрисовки?

Добавлено @ 12:49 
у меня на progressbare 2 цвета : бэкграунд и полосочки,
так вот мерцвет цветом бэка...
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 1.8.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



А не пробовал без ресайза обойтись?
Подготовить уже нужный размер битмапа и рисовать на нем, с поправкой на размер - так явно быстрее будет.
Кроме того, попробуй DoubleBuffered := true
или вручную использовать BeginPaint - EndPaint
PM MAIL   Вверх
artem1987
Дата 1.8.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



а ресайз , кровъ из носу надо- задание такое.
кстати, помогла отрисовка через кадр.спасибо
DoubleBuffered := true------>это что за конструкция, а куда её ... того.
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Snowy
Дата 1.8.2006, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Цитата(artem1987 @  1.8.2006,  13:03 Найти цитируемый пост)
кстати, помогла отрисовка через кадр.спасибо
На данном этапе - да. Но на более медленных машинах нужно уже будет через 4 кадра рисовать smile

Цитата(artem1987 @  1.8.2006,  13:03 Найти цитируемый пост)
DoubleBuffered := true------>это что за конструкция, а куда её ... того.
Это пропертя WinControla.
Пропиши это в OnCreate.
Делает это много чего.
Но тебе из этого нужно скрытие WM_ERASEBKGND.
Проще говоря, устранит мерцание за счёт того, что перерисовка не будет отображена, пока изображение не ляжет на конечный DC.
Т.е. при установки этой проперти применяется другой вариант рисования контрола, устраняющий мерцание.
PM MAIL   Вверх
Alexeis
Дата 1.8.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Да это работает куда лучше, вот только непонятно, почему оно в формах по дефолту не стоит.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artem1987
Дата 3.8.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



стал рисовать в image. double buffered просто мега вешь.действительно странно почему её нет по умолчанию.
станно вообще почему есть doublebuffered:=false;
но почему-то при ресайзе, когда я каждай рас image перерисовываю, он принимает причудливые формы.
хотя масштабироавание правильное(т.к. если запускать с любого размера в начале рисунок правильный).
в чем могу косячить?
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
artem1987
Дата 3.8.2006, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



.нужно чтоб толшина строчек не менялась.т.е. должен перемещаться только конец.

Это сообщение отредактировал(а) artem1987 - 30.8.2006, 16:19
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
artem1987
Дата 14.8.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



может ли из-за простой перерисовки имаджа при ресайзе на GEForce 6200 не тормозить  ,а на интегрированой с 64 мб тормозить жестко как это можно исправить??
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Alexeis
Дата 14.8.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(artem1987 @  14.8.2006,  15:00 Найти цитируемый пост)
,а на интегрированой с 64 мб тормозить жестко
 Ну вывод должен быть медленнее, но не настолько же, ведь это 2D, а не 3D.

Добавлено @ 15:28 
ну это примерно так если на GEForce 6200 это будет 1000fps, то на 
 интегрированой - 150fps


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
artem1987
Дата 14.8.2006, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 18.7.2006
Где: Калининград

Репутация: нет
Всего: нет



вот и я думаю.но разница сильно заметна.как если doublebuffered отключить...
может можно как-то исправить..
--------------------
Don't ask me why, ask me how.
PM MAIL   Вверх
Alexeis
Дата 14.8.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(artem1987 @  14.8.2006,  16:06 Найти цитируемый пост)
как если doublebuffered отключить...

Вероятно, что то с настройками системы, вот я недавно смотрел спец модуль от Rouse_ так вот он жутко мигает на GeForce 4, но на работе, на какой-то несчасной видюшке NVidia Vanta (даже не слышал про такую), все ОК.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bems
Дата 18.8.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 1
Всего: 88



Цитата(Snowy @  28.7.2006,  16:15 Найти цитируемый пост)
Так уж устроена винда - при отрисовке нужно рисовать всё целиком.  
А как же GetUpdateRgn?



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.