|
|
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
Помогите с ProgressBar'ом разобраться. Мне необходимо поставить его на процесс загрузки формы. Просто никогда этим не занимался, не знаю как прицепить-то его к загрузке определенной формы. Объясните пожалуйста. В поиске по форуму ничего конкретного не нашел. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:12 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
А вы нашли сам этот контрол? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:22 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
...Всмысле? Сам ProgressBar? Конкретизирую... Есть форма, которая грузится весьма долго. Как мне присобачить к загрузке этой формы контрол ПрогрессБар, чтобы он показывал процесс этой самой загрузки?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:26 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
Дело в том, что пока происходит загрузка основной формы, сам ентот бар вы не увидите. Форма отобразит свое содержимое лишь после метода Load самой формы. Поэтому вам нуна создать дочернюю форму, привязанную к основной без заголовка формы. На него накиньте нужный БАР. В самом методе LOAD основной формы, последовательно меняйте текущее значение бара и рефрешуйте дочернюю форму. Вот так-то ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:27 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
И ещё вопросик :). А почему такой вопрос в асекс-форуме? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:29 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
> И ещё вопросик :). А почему такой вопрос в асекс-форуме? :) Интересное дело, а почему бы и нет? Я говорю, что не работал ещё с такими контроллами, потому и просил подсказать. И всё же не могу понять: каким образом зацепить величину значения ПрогрессБара в OnLoad'е формы? То есть через каждую строчку кода в событии OnLoad указывать значение прогресс бара? Или как-то через таймер формы?А по поводу дочерней формы: как связать её с той, что загружается? Опять же в OnLoad'е поставить первой строчкой кода ДочФорма.Open а последней: ДочФорма.Close? Я правильно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:42 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
...вдогонку: Как последовательно менять значение контрола в событии Лоад загружаемой формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:43 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
>А по поводу дочерней формы: как связать её с той, что загружается? Опять же в OnLoad'е поставить первой строчкой кода ДочФорма.Open а последней: ДочФорма.Close? Я правильно понимаю? Совершенно правильно! Но вот с таймером формы - по моему вы переоценили возможности VS т.к. приложение не знает когда конкретно закончится загрузка (может форма будет долго конектиться к удаленной базе?), приложение может только прогнозировать время выполнения, ГДЕ ПРОИДЕННЫЕ ЭТАПЫ УКАЗЫВАЕТ САМ РАЗРАБОТЧИК. Так вот :) Поэтому вы должны сами после определенных загручзочных команд оценивать завершенность - эти оценки и нуна отобразить в баре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 13:50 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
Спасибо, вообщем я понял, достаточно подробно описано. Но вот вопрос: если на загрузке формы стоит пара-тройка команд типа Поле1.Value=Значение1, Поле2.Visible=false и ещё какая-нибудь мелочёвка, а сам процесс загрузки долог от того, что форма вообще содержит огромное количество контроллов, то как мне поймать интервалы? Ведь в явном виде загрузка всех контроллов в Лоаде формы не указана? Да и в случае коннекта к удаленной базе ведь тоже наверное можно повесить прогрессбар, несмотря на то что явно этот конект в Лоаде не описан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 14:04 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
А вот в случае коннекта к удаленной базе, можно точно указать верхний порог времени присоединения, но это настройка ADOconnection и мы сами этот порог устанавливаем. А приложение может закончить коннект гораздо раньше, поэтому как связь налажена, необходимо произвести скачек на следующий этап загрузки формы, потому как бар будет учитывать только вырхнюю отведенную границу. :) рад был помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 14:15 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
Вообщем сделал, как советовал, но, как оказалось, проблема тормознутости загрузки не в самой форме, а вообще в загрузке базы. Посему при открытии основной формы на доли секунды появляется форма с прогрессбаром, а потом сразу - основная. Прогрессбара, вообщем-то, и не видно... А в этом случае никак не заполнить визуально паузу при открытии базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2003, 15:15 |
|
||
|
ProgressBar...
|
|||
|---|---|---|---|
|
#18+
Подвяжи бар к реальному времени. Если например в ADOconnectionю.timeout=40 ,то пускай бар на самотек системного времени, а когда база приконектится, то придется сделать скачек к следующей точке бара. Довольно все просто и действенно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 09:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32191907&tid=1680910]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
81ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 428ms |

| 0 / 0 |
