ProgressBar смена направления заполнения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 0:56

Есть процесс, конец которого узнать заранее технически невозможно. Необходимо на основе обычного ProgressBar (MS Common Control 6) сделать такую фичу, чтоб при достижении ProgressBar.Max, ProgressBar.Value устанавливалось в 0 и начинало заполнение с другой стороны.

Нагляднее так:
Код: Выделить всё
ProgressBar1.Value = 0
Начало процесса
     Do Until ... ' (ProgressBar1 можно в цикле заполнять, а можно просто к таймеру привязать, это несущественно)
         If ProgressBar1.Value = 100 then
             ProgressBar1.Value = 0
             ' Тут смена направления заполнения ProgressBar1 (как реализовать?)
         End if
         ProgressBar1.Value = ProgressBar1.Value + 10
     Loop


Идеальнее, конечно, было бы сделать что-то схожее на ProgressBar при загрузке Windows XP или по такому же принципу ProgressBar в FireFox при загрузке файла с неизвестным размером. Но из ProgressBar (MS Common Control 6) это вряд ли соорудишь. А свой контрол рисовать НЕ охота.

P.S. Просьба товарища Хакера не принимать участия в обсуждении этой темы. Спасибо!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 07.01.2010 (Чт) 1:15

P.S. Просьба товарища Хакера не принимать участия в обсуждении этой темы. Спасибо!

Ты не обидишься, если я вежливо попрошу тебя не принимать участия в деятельности этого форума?

MS Common Control 6 --- это не обычный прогресс-бар, это восковая копия. Стандартный же прогресс-бар поддерживает (стиль MARQUEE) то, что тебе нужно (отображение прогресса для процессов с неизвестным объёмом работы), а обёртка над стандартным прогрессбаром есть в MS Common Controls 5.

Прогрессбар заполняется вправо не потому, что у создателя зачесалась правая ягодица, а потому, что для людей западной культуры (в которой направление письма --- слева направо) направление вправо на подсознательном уровне означает движение вперёд. Поэтому прогресс бар движется вправо, ползунок в плеере движется вправо, стрелочка на кнопке перемотки вперёд направлена вправо (а перемотки назал --- влево).
В культурах в RTL-письмом всё должно быть наоборот.

Если ты не понимаешь всех этих вещей и даже не задумываешься о них --- отсеки себе руку, когда она в следующий раз потянется делать что-то из области пользовательского интерфейса.

Миру, правда, не станет лучше от ещё одной программы с убогим интерфейсом. Или ты из тех, чей девиз: "Сделаем мир хуже!"?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 1:53

Хакер писал(а):Ты не обидишься, если я вежливо попрошу тебя не принимать участия в деятельности этого форума?


Если желтый цвет твоего ника означает полноправную власть в этом форуме, то я несомненно сделаю это.

Но "новую тему" создал я, соответственно попросил об одолжении с твоей стороны не отвечать на мои вопросы, насколько я знаю, это не запрещено правилами форума. Так как 98,5% твоих постов ДЛЯ МЕНЯ и еще немалого количество людей на форуме (а прочел я тут не мало) являются не информативными и будь твой ник менее желтым, то на других форумах это могло бы быть расценено как флуд. Это при том, что знания у тебя (об этом можно догадаться из остальной части 1,5% информативных сообщений) действительно заслуживают тех звезд которые у тебя есть. Но только беда в том, что в меру ужасно скверного характера вместо того, чтоб делиться ими, ты позволяешь себе рассуждать на тему "зачем ты это делаешь вообще, это никому не нужно или нужно но не так как ты делаешь", "ты делаешь это не так как ждет от тебя пользователь', " да или даже так: "Миру, правда, не станет лучше от ещё одной программы с убогим интерфейсом. Или ты из тех, чей девиз: "Сделаем мир хуже!"?" Ты говоришь обо всем, только не о том, чему посвещен этот форум и чего ждут от тебя люди, которые задают вопросы. Во сколько бы ты не превосходил по знаниям alibek, GSerg или самого уважаемого для меня на этом форуме Antonariy, то их помощь гораздо более велика чем твоя. И вклад их в этот форум значительно выше. И заметь, я не советую тебе создать форум разговоров "не о чем" или "о том как не следует делать", я всего лишь попросил, вежливо, как ты заметил не отвечать на мой пост!

Хакер писал(а):потому, что для людей западной культуры (в которой направление письма --- слева направо) направление вправо на подсознательном уровне означает движение вперёд...
Если ты не понимаешь всех этих вещей и даже не задумываешься о них --- отсеки себе руку...


Хакер, речь идет не о одноразовом движении ProgressBar справа налево, а о непрерывном движении ProgressBar из стороны в стороны. Это можно понять из первого топика, если не со слов, то из кода. И такое движение (подобное) уже реализовано у таких компаний как Майкрософт и Мозила, им тоже всем отсечем руки?! Или они коем образом обидели тем самым людей какой-либо культуры?

Хакер писал(а):Миру, правда, не станет лучше от ещё одной программы с убогим интерфейсом. Или ты из тех, чей девиз: "Сделаем мир хуже!"?

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

Есть еще у кого какие-либо мысли по теме? Хотя вероятность просмотра моего топика (топика, который уже вроде как с ответом) значительно падает. Спасибо Хакеру!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: ProgressBar смена направления заполнения

Сообщение MIT » 07.01.2010 (Чт) 1:59

Тебе был дан намек на использование MS Common Controls 5, в котором есть то что надо.

$Yastrebov$ писал(а):Хотя вероятность просмотра моего топика (топика, который уже вроде как с ответом) значительно падает. Спасибо Хакеру!
[offtop]Наоборот! Мне, например, интересно читать темы с живым обсуждением. И с тем, как кто-то спорит с Хакером. С ним вообще весело :) . Хоть он и колючий со всех сторон...[offtop]
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 07.01.2010 (Чт) 2:01

беда в том, что в меру ужасно скверного характера вместо того, чтоб делиться ими, ты позволяешь себе рассуждать на тему "зачем ты это делаешь вообще, это никому не нужно или нужно но не так как ты делаешь", "ты делаешь это не так как ждет от тебя пользователь', " да или даже так: "Миру, правда, не станет лучше от ещё одной программы с убогим интерфейсом. Или ты из тех, чей девиз: "Сделаем мир хуже!"?" Ты говоришь обо всем, только не о том, чему посвещен этот форум и чего ждут от тебя люди, которые задают вопросы.


Это "синдром наркомана". (Не подумай, что я намекаю на какую-то связь между тобой и наркоманией).

У человека поворачивается на 180 градусов базис, по которому он оценивает помощь: так наркоман, к примеру, принудительное лечение от наркозависимости не расценивает как помощь, зато будет жутко благодарен тебе, если ты предоставишь ему ещё одну дозу.

Я помогаю не тем, что рассказываю, как сделать дрянь, а тем, что отговориваю её делать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: ProgressBar смена направления заполнения

Сообщение SLIM » 07.01.2010 (Чт) 2:09

[offtopic]Ну Хакер прав.
Все что имеет MS Common Control 6 уже написано. Т.е. какой-то элемент может себя вести так и никак иначе. А поведение PB таково, что заполнить его с другой стороны нельзя. Ты можешь написать свой, особый PB, который будет вести себя так как ты хочешь. Но это уже будет, как подметил Хакер (а он всегда верно подмечает красивости интерфейса и кода), будет неправильно по отношению к пользователю. Важно понять, что есть принципы программирования, его осовы, такие же принципы есть и у интерфейса. Т.е. если ты в программе можешь написать цикл строго опредленным способом, то только таким ты и можешь. Отличие лишь в том, что ты, по примеру с for-ом, имеешь выбор, писать так или иначе. И здесь ты уже должен руководствоваться правильностью, а не возможностью. Правильно писать правильно оформленные приложения не задумываясь об интерфесе. Интерфейс сам придет.

Ну это я так думаю[/offtopic]
Пишите жизнь на чистовик.....переписать не удастся.....

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 2:13

к Hacker:
Я даже не буду реагировать на этот ИМХО бред (не прими за оскорбление). Это сугубо личное "наркоманское" восприятие :)

Но очень хотел бы взглянуть на какую-либо программу (сайт) или вообще одно твое публичное творение. Так как по ссылке из твоего профиля кроме как на "ОШИБКА 404: Файл не найден" я ни на что не натыкаюсь. Так для образца идеальной не "наркоманской" программы (сайта) :)
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 2:23

к Slim:

Странно, как-то получается... Хакера лишний раз похвалим...
(а он всегда верно подмечает)

только вот по ссылке ниже ты был совсем другого мнения о Хакере :)
viewtopic.php?t=36794
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 2:42

Хакер писал(а):Стандартный же прогресс-бар поддерживает (стиль MARQUEE) то, что тебе нужно (отображение прогресса для процессов с неизвестным объёмом работы), а обёртка над стандартным прогрессбаром есть в MS Common Controls 5.


Насколько я понимаю этот способ работает только под XP? Поправьте, если не прав?
http://planetsourcecode.com/vb/scripts/ ... 7&lngWId=1
http://www.vbforums.com/showthread.php?t=462116
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 07.01.2010 (Чт) 2:44

для образца

SLIM, скинь ему, пожалуйста, если у тебя есть, скриншоты релизной dua-шки?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: ProgressBar смена направления заполнения

Сообщение SLIM » 07.01.2010 (Чт) 2:58

А постарее ничего не нашел?
Я беру свои слова обратно, так как с помощью Хакера я стал тем кто я есть. И пусть я еще не тот, кем я хотчу стать, но для того чтобы стать тем кто я стал нужно было бы больше времени чем если бы я желал это без Хакера
Пишите жизнь на чистовик.....переписать не удастся.....

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: ProgressBar смена направления заполнения

Сообщение FaKk2 » 07.01.2010 (Чт) 3:42

$Yastrebov$, заполнение прогресс бара вправо/влево превращает его из индикатора прогресса в индикатор ожидания.

Вот тебе код: http://www.vbforums.com/showthread.php?t=462116
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 4:09

к FAKk2:

Именно такой "индикатор ожидания", как ты выразился, мне и нужен. Если посмотреть чуть выше, то мною уже приведена эта ссылка, которую ты запостил. Но данная реализация работает только под Windows XP. А мне это не подходит.
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Re: ProgressBar смена направления заполнения

Сообщение FaKk2 » 07.01.2010 (Чт) 4:36

Ах да? Ну извини, не заметил. А к какой операционка тебя интересует?
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 07.01.2010 (Чт) 4:40

А к какой операционка тебя интересует?

От Windows XP и выше, до Windows 7

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: ProgressBar смена направления заполнения

Сообщение Viper » 07.01.2010 (Чт) 10:49

$Yastrebov$ писал(а):
А к какой операционка тебя интересует?

От Windows XP и выше, до Windows 7
Это работает начиная с XP и выше. Ниже нет.
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 07.01.2010 (Чт) 14:43

Это вообще-то первично от версии comctl32.dll зависит.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 08.01.2010 (Пт) 0:22

Это работает начиная с XP и выше. Ниже нет.


Кинул на форму Common Controls 5. Вызвал ф-цию InitCommonControlsEx до загрузки форму. Закинул в скомпилированый exe-шник манифест. Стиль применился. Но прогресс бар не MARQUEE. Ошибки в коде нет. ОС: Win 7
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 08.01.2010 (Пт) 0:23

С чего ты взял, что ошибки в коде нет?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 08.01.2010 (Пт) 3:06

Хакер писал(а):С чего ты взял, что ошибки в коде нет?


А где там ее можно сделать? За основу взят код по ссылке: http://www.vbforums.com/showthread.php?t=462116
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: ProgressBar смена направления заполнения

Сообщение Andrey Fedorov » 09.01.2010 (Сб) 5:40

Можно просто взять готовый usercontrol.

И выбрать такой стиль:

Изображение

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Re: ProgressBar смена направления заполнения

Сообщение $Yastrebov$ » 09.01.2010 (Сб) 6:07

Andrey Fedorov, спасибо! Наверное, это единственно возможный вариант.

Хакер, похоже я так и не дождусь увидеть твой пример "не наркоманской" программы... или чего либо еще в твоем творении. Похоже мы только умеем блистать своим самодовольством) и тыкать всем на их "ужасные" затеи. Прочел твои комменты в соседней теме "Как узнать заводской номер флэшки?" - viewtopic.php?f=1&t=40496 и чуть не упал со стула. Ты что себе посты набиваешь за счет бесполезных фраз типа "Зачем такая дурь может быть нужна?" К тому же это просто не слыханное хамство по отношению к другому участнику форума. Не понимаю важность твоего участия в подобных темах для обсуждения. И какое тебе вообще дело до того кому и как может пригодится то, что они собираются сделать. Наверное, они забыли тебя об этом спросить.
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 09.01.2010 (Сб) 12:42

Andrey Fedorov, спасибо! Наверное, это единственно возможный вариант.

Это не единственно возможный вариант, это самый уныло-отвратительный вариант (особенно учитывая скриншот).

Самый грамотный вариант (а ещё и самый простой, что удивительно), это создать свою обёртку над ProgessBar-ом бы, которая определяла версию comctl32.dll, и если это версия с поддержкой Marquee (и визуальных тем, заодно), использовала бы встроенное Marquee, а если это старая версия (без поддержки marquee, и без поддержки тем), сабклассила бы прогрессбар и рисовала marquee-эффект сама. Крайне повезло тебе, что marquee и поддержка тем появились одновременно. Это самый хороших подход, потому что при нём достигается минимальная самодельность. Во-первых, просто глупо самому реализовывать визуальный эффект, который уже реализован. Во-вторых, есть риск, что собственная реализация будет отличаться от системной (за это надо бить), а на скриншоте так и есть. В третьих, рисуя marque-эффект для "старых" версий ты точно никого не взбесишь тем, что твоя релизация отличается от стандартной, просто потому, что стандартной не существует. В чертёртых, крайне просто рисовать marque из монотонных синих прямоугольничков. Только все их параметры (включая цвет) обязательно получи, прежде чем рисовать.

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


Хакер, похоже я так и не дождусь увидеть твой пример "не наркоманской" программы...

Примеров "не наркоманской" программы ты разумеется не дождёшься, потому что я не понимаю, что такое "не наркоманская" программа.
"Наркоманской" может быть исключительно оценка человеком, просящим помощь, этой самой помощи, ему оказываемой. Как "наркоманской" (или "не наркоманской") может быть программа --- я не знаю.
Судя по тому, что ты применил это понятие к программам, ты так и не понял, к чему я привёл упоминание о наркоманах. Печально.

Примеров программы с правильным интерфейсом ты можешь дождаться, если кто-нибудь, у кого они есть, решатся тебе послать. У меня нет ни моих программ, ни их скриншотов: я в другом городе с ноутбуком. Впрочем, сами программы тебе давать никто не собирается, а по скриншотам всю правильность интерфейса не увидишь.

Похоже мы только умеем блистать своим самодовольством) и тыкать всем на их "ужасные" затеи.

Даже если бы вдруг это было так, в этом нет ничего осудительного. Не нужно быть архитектором, строителем, специалистом по бетонным конструкциям или иметь за спиной сотни построенных зданий, чтобы утверждать, что люди, сделавшие вот такой пандус, --- идиоты.

Прочел твои комменты в соседней теме "Как узнать заводской номер флэшки?" - viewtopic.php?f=1&t=40496 и чуть не упал со стула.

Не удивительно, что вы "нашли друг-друга". У обоих одинаковая философия: "Я не знаю, как сделать то, что я хочу, но я абсолютно уверен в правильности того, что я хочу." Оба неадекватно относятся к помощи ("наркоманский" синдром).

К тому же это просто не слыханное хамство по отношению к другому участнику форума.

У обоих одинаковое заблуждение: критику решений, идей и утверждений воспринимают как критику (и оскорбление!) самого себя. Это видимо комплексы. Ну а что ещё может быть, когда человек видит фразу "твоё решение --- дрянь" и воспринимает её как "ты --- дрянь"?

Не понимаю важность твоего участия в подобных темах для обсуждения.

А понять важность не сложно. Нормальный (подчёркиваю) человек, когда у него спрашивают, как сделать что-то неправильное, гадкое, противозаконное, не отвечает, как, а старается препятствовать совершению гадкого, противозаконного. Например, нормальный человек, если у него спросят "где нелегально приобрести пистолет", не расскажет где (даже если знает), а сообщит в органы.

Соответственно я, если возникают подозрения, что человек делает что-то плохое, задаю вопрос, чтобы либо устранить своё (ошибочное) подозрение, либо точно установить этот факт и отговорить человека. Люди, помощь которых тебе нравится, в отличие от меня, совершенно безразличны к тому, насколько правильно ты делаешь, соответственно, они и дают удовлетворяющий тебя ответ. Кроме того, есть обратная сторона монеты: в списке приоритетов "помочь человеку сделать дрянь" и "оградить общество от дряни" я отдаю предпочтение второму. Поэтому, если человека не волнует, насколько правильно он поступает, и он предупреждает, что не хочет слышать комментариев о своей неправоте, я всё равно вступаю в подобные обсуждения. Людей, способ оказания помощи которых тебе нравится, не волнует, что на свет родится ещё одна плохая программа.

А кроме обратной стороны монеты у неё есть ещё ребро: это всё не личная переписка, это форум, и каждую тему здесь обычно читают ещё долго после того, как автор темы всё уяснил. Поэтому, нельзя не указывать на дрянные решения, иначе найдутся массы последователей.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: ProgressBar смена направления заполнения

Сообщение iGrok » 09.01.2010 (Сб) 23:47

И это.. Я, конечно, граммар-наци, но "неслыханное" пишется слитно..
И пусть бросит в меня камень первый, кто скажет, что грамотность не важна.
label:
cli
jmp label

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: ProgressBar смена направления заполнения

Сообщение Twister » 11.01.2010 (Пн) 12:28

Дайте-ка и я внесу свою "лепту", раз уж пошла "такая пьянка"...

Не буду ни кого осуждать, каждый имеет право на свое мнение, но! Уважаемый ТС, разве пост скриптум твоего первого поста не является явной провокацией, пусть и сделанной необдуманно? Да, у Хакера скверный характер и плохо с чувством такта, но его достоинства как специалиста нельзя не учитывать. И если он говорит, что "что-то не так", значит для собственного же блага нужно хотя бы обратить на это внимание. Теперь по поводу "обидных" слов: любого обидчика (и в жизни, и в сети) можно заткнуть парой-тройкой деликатных фраз, достаточно лишь иметь чуть-чуть общего представления о человеческой психологии. Учитывая так же тот факт, что в любой ссоре виноваты как минимум двое, то допущу такой вывод: "зря ты этот PS написал". И в догонку: я много лет знаю Хакера и подобных коллизий у меня с ним не возникало. Вопрос: почему?
А я все практикую лечение травами...

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: ProgressBar смена направления заполнения

Сообщение awl100Alex » 17.01.2010 (Вс) 23:12

Раз уж тут вспоминали меня, то прошу всех желающих заглянуть и сюда... тоже.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: ProgressBar смена направления заполнения

Сообщение Andrey Fedorov » 19.01.2010 (Вт) 15:57

Хакер писал(а):Самый грамотный вариант (а ещё и самый простой, что удивительно), это создать свою обёртку над ProgessBar-ом бы, которая определяла версию comctl32.dll, и если это версия с поддержкой Marquee (и визуальных тем, заодно), использовала бы встроенное Marquee, а если это старая версия (без поддержки marquee, и без поддержки тем), сабклассила бы прогрессбар и рисовала marquee-эффект сама.


Это самый простой вариант? UserControl любой сможет воткнтуть за пару минут, а создавать свою обертку над ProgessBar-ом, которая определяла версию comctl32.dll, и если это версия с поддержкой Marquee (и визуальных тем, заодно), использовала бы встроенное Marquee, а если это старая версия (без поддержки marquee, и без поддержки тем), сабклассила бы прогрессбар и рисовала marquee-эффект сама - сколько времени надо угробить на разборки? По мне так ну его нафиг такое счастье - мне зарабатывать и семью кормить надо, а не заниматься производством оберточных финтифлюшек. Хотя это было бы чуть более правильней, но не это меня кормит...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ProgressBar смена направления заполнения

Сообщение Хакер » 19.01.2010 (Вт) 16:08

сколько времени надо угробить на разборки? По мне так ну его нафиг такое счастье - мне зарабатывать и семью кормить надо,

Безупречный разработчик думает о пользователях, а не о себе.

Предложенный вариант имеет максимальный показатель правильность × сложность. Т.е. делать полностью свой прогрессбар с нуля было бы более сложно, но менее идеологически правильно. Реализовывать хотя бы сам Marquee-эффект полностью самому было бы аналогично более сложно, но менее правильно. Максимальная правильность достигается тогда, когда ты реализовываешь только то, что вообще не реализовано, и используешь то, что уже реализовано. Marque на старых comctl не реализован, поэтому, логично, что реализовать его надо только там, и нигде больше.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: ProgressBar смена направления заполнения

Сообщение Денис » 19.01.2010 (Вт) 16:10

Andrey Fedorov писал(а):По мне так ну его нафиг такое счастье - мне зарабатывать и семью кормить надо, а не заниматься производством оберточных финтифлюшек. Хотя это было бы чуть более правильней, но не это меня кормит...


Ух мы какие! Ну тогда просим в раздел "Работа".
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: ProgressBar смена направления заполнения

Сообщение Antonariy » 19.01.2010 (Вт) 17:07

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

Хакер писал(а):Людей, способ оказания помощи которых тебе нравится, не волнует, что на свет родится ещё одна плохая программа.
Если у меня, к примеру, человек просит "грабли", и просит конкретно, то не вижу причин отказать. В конце концов я ему не мать, не сестра и не любовница. Лучше пусть сам на них наступит, чем слушает лекции о том, как это болезненно. Голова начинает работать качественней, когда сама познакомится с рукояткой. А плохие программы — мертворожденные, до общества они не дойдут, затерявшись в глубинах "наших проектов".
Лучший способ понять что-то самому — объяснить это другому.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 14

    TopList  
cron