Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Создания индикатора процесса ( в просторечии ProgressBar-а)

Поиск:
>Простите за идиотский вопрос, я знаю конечно, что и так этой ерунда навалом, но как мне сделать собственный Progress Bar, но не тащить его за программой отдельной библиотекой, а встроить его именно там, где он нужен. Можно без текущих процентов, но желательно, чтобы код был небольшим.

Вот требования пошли - чтобы код был небольшим. А когда я гигантов предлагал?

Самый простой способ такой - берете картинку (полоску цвет который вам больше нравится), эта картинка и будет вашим прогрессом. Эту картинку мышкой на форме сворачиваете до минимуму (по длине, а по ширине оставьте такой, какая должна быть в конце. Эту полосочку помещаете точно на лейбл, длина и ширина которого совпадает с длиной и шириной развернутой полоски. Ставите BorderStyle = 1 - Fixed Single. Также нужно поместить таймер, в котором это все и будет происходить.

Вот и все. Теперь осталось добавить код:

Код

Private Sub Timer1_Timer()
   Picture1.Width = Picture1.Width + 10 'Каждый интервал прибавляется 10
   If Picture1.Width = Label1.Width Then Picture1.Width = 0 'Когда достигается конец лейбла происходит сброс до начального значения
End Sub


Для инициализации таймера используем событие Form_Load, а для остановки процесса Form_Click. Для возобновления процесса используем Form_DblClick.

Код

Private Sub Form_Click()
   Timer1.Enabled = False
End Sub

Private Sub Form_DblClick()
   Timer1.Enabled = True
End Sub

Private Sub Form_Load()
   Timer1.Interval = 100
   Timer1.Enabled = True
End Sub


Листинг

Код

Private Sub Form_Click()
   Timer1.Enabled = False
End Sub

Private Sub Form_DblClick()
   Timer1.Enabled = True
End Sub

Private Sub Form_Load()
   Timer1.Interval = 100
   Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
   Picture2.Width = Picture2.Width + 10
   If Picture2.Width = Picture1.Width Then Picture2.Width = 0
End Sub

Источник: www.vbstreets.ru.
Автор: Гайдар Магдануров






Просмотров: 2897

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную