Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
ВнизЗабавный скроллбар Найти похожие ветки
← →
Kolan © (2006-12-10 19:22) [0]http://www.artgorbunov.ru/ui/infoscroller/
В ворде бы не помешал.
Вот вариация:
http://www.usethics.ru/lib/scroll_bar/index.shtml
← →
Andy BitOff © (2006-12-10 19:56) [1]Во второй ссылке написано, что:"А наши коллеги из Студии Артемия Лебедева сообщили, что опираясь на собственные изыскания, даже запатентовали полосу прокрутки с представлением содержания в виде графических символов около года назад, но до недавнего времени не афишировали изобретение."
Подчеркнутое, это ссылка на первую указанную тобой ссылку
← →
Kolan © (2006-12-10 20:07) [2]> [1] Andy BitOff © (10.12.06 19:56)
Я знаю. Это же еще найти надо...
← →
MeF Dei Corvi © (2006-12-10 20:09) [3]В проводнике не помешало бы, в Ворде - не знаю.
← →
Real © (2006-12-10 20:20) [4]не помешало бы нигде, разумеется с возможностью отключения этой функции в настройках
P.S. Лебедев продал бы дурак патент в мелкософт год назад, вместо того чтоб "не афишировать" - уже бы в висте юзали :)
← →
Gero © (2006-12-10 20:59) [5]Замечательное изобретение.
← →
Kolan © (2006-12-10 21:30) [6]А где бы теперь скачать такой компонент для Delphi? :)
← →
Джо © (2006-12-10 21:35) [7]API для него, наверное, нудный :)
← →
Kolan © (2006-12-10 23:36) [8]Интересно а как это сделать?
Как рисовать незнаю. Со всем остпльным разберусь :)
← →
Vga © (2006-12-11 02:41) [9]Прикольно... Нечто подобное кстати можно увидеть в программах сравнения файлов, WinMerge или KDiff3 например.
← →
Fredy314 © (2006-12-11 11:24) [10]Компонент Можно сделать, может занятся, а то пока дождёшся от борланда подачек.
← →
Fredy314 © (2006-12-11 11:25) [11]Интересно будет реализация такого компонента, нарушением патента г-на Лебедева?
← →
OldNaum © (2006-12-11 11:35) [12]API будем замороченным, верняк
← →
Kolan © (2006-12-11 11:43) [13]> нарушением патента г-на Лебедева
Нет. Он патентанул только программу.
← →
wicked © (2006-12-11 12:51) [14]
> API для него, наверное, нудный :)
> API будем замороченным, верняк
не обязательно... главное - подход ;)
← →
Rouse_ © (2006-12-11 12:57) [15]Даже руки зачесались - себе чтоль такой прикрутить? :)
К нашим продуктам подошел бы как влитой :)
← →
Kolan © (2006-12-11 13:06) [16]> [15] Rouse_ © (11.12.06 12:57)
> Даже руки зачесались - себе чтоль такой прикрутить? :)
> К нашим продуктам подошел бы как влитой :)
У меня тоже чешуться, но я ниасилю :) Сделаешь поделись что ли :) Готов помочь.
← →
Наиль © (2006-12-11 13:44) [17][0] не предназначен для работы с многостраничными документами такими, какие встречаются в Word и Adobe Reader.
Представте себе, образец текста повторенным 5-20 раз. Что тогда было бы в скролинге.
Уплотнение было бы таким большим, об удобстве говорить не пришлось.
Если сделать скроллинг не пропорциональным, а фон подвижным, то можно было бы получить приемлемый результат и для большОго количества страниц.
Что касается API, то насколько я мог заметить, то его там нет.
В скролинге отображается та же HTML-страница, что и в окне. Естественно, на основе тэгов.
← →
Kolan © (2006-12-11 13:46) [18]> Уплотнение было бы таким большим
Можно иначе придамать. Например общий вид кажой страницы.. Смысл в идее..
← →
Rouse_ © (2006-12-11 13:48) [19]
> Сделаешь поделись что ли :) Готов помочь.
У нас собственная отображалка, на нее я навернуть то смогу, а вот для сторонних врятли подойдет :)
← →
Rouse_ © (2006-12-11 13:49) [20]В смысле вот такая примерно :)
http://grandsmeta.ru/images/14n.jpg
← →
Kolan © (2006-12-11 13:55) [21]> на нее я навернуть то смогу
Ну а компанент в каком формате данные будет принимать для отображения? XML же наверно..
Можно сделать универсально. Можно сделать иеррархию и для каждой программы делать потомка реагируя тем самым на разные треборания к отображению.
← →
Kolan © (2006-12-11 13:56) [22]> В смысле вот такая примерно :)
Куча всего :) Аж страшно...
← →
Игорь Шевченко © (2006-12-11 14:04) [23]Красиво. Но лень.
← →
pasha_golub © (2006-12-11 14:10) [24]
> Игорь Шевченко © (11.12.06 14:04) [23]
>
> Красиво. Но лень.
>
Cогласен. Но хочется. :)
← →
Игорь Шевченко © (2006-12-11 14:11) [25]pasha_golub © (11.12.06 14:10) [24]
Хочется. Вот пусть найдется тот, кому не лень, я с радостью у него возьму готовый.
← →
Kolan © (2006-12-11 14:13) [26]> [25] Игорь Шевченко © (11.12.06 14:11)
> pasha_golub © (11.12.06 14:10) [24]
>
> Хочется. Вот пусть найдется тот, кому не лень, я с радостью
> у него возьму готовый.
Опешите в двух словах(можно больше) как это сделать. Я имею ввиду нарисовать, реагировать на события...
← →
Rouse_ © (2006-12-11 14:18) [27]
> Куча всего :) Аж страшно...
Чтож ты хотел :)
Визуальное представление сметы в формате WYSIWYG :)
Сметчики не жалуются, ибо удобно им :)
← →
Rouse_ © (2006-12-11 14:19) [28]
> Опешите в двух словах(можно больше) как это сделать. Я имею
> ввиду нарисовать, реагировать на события...
В двух словах? Сабклассить стандартный скролл с целью перехвата WM_NCPAINT и замены фона на свой :)
← →
Kolan © (2006-12-11 14:19) [29]> ибо удобно им
Не, я не спорю. Просто видно сколько труда вложено...
← →
Rouse_ © (2006-12-11 14:21) [30]
> Просто видно сколько труда вложено...
Дык, Максим Черных больше года над ним корпел, и сейчас продолжает дорабатывать :)
← →
Fredy314 © (2006-12-11 14:29) [31]Рисуеш всё что вздумается, и реагируеш на события так-как задумано. Главное правильно задумать.
Кстати если сделать компонент, через регистрацию класса окна в DLL с документацией по использованию и возможностям, можно будет использовать не только в Дельфи.
Кто мне скажет какие об"явления нужно об"явить а DLL чтоб можно было импортировать компонент как в Дельфи есть Import ActiveX Control?
← →
Kolan © (2006-12-11 14:32) [32]> и реагируеш на события так-как задумано
Нет опыта у меня. От какого класс наследоваться итд.. Надо поразбираться короче ...
← →
Игорь Шевченко © (2006-12-11 14:38) [33]Rouse_ © (11.12.06 14:19) [28]
> В двух словах? Сабклассить стандартный скролл с целью перехвата
> WM_NCPAINT и замены фона на свой :)
Ты так больше не пугай людей
← →
Fredy314 © (2006-12-11 14:46) [34]> От какого класс наследоваться итд
от TWinControl.
← →
Rouse_ © (2006-12-11 15:26) [35]
> Ты так больше не пугай людей
А кто испугался? :)
← →
Игорь Шевченко © (2006-12-11 15:49) [36]Rouse_ © (11.12.06 15:26) [35]
Я испугался. Скроллбары, которые в окнах, они NCPAINT не получают. Их окно получает, ну и эти...скроллбары рисует. Также как рамку, полосу меню и прочие неклиентские штучки.
← →
Rouse_ © (2006-12-11 16:15) [37]Я вообще-то о TScrollBar говорил :)
← →
StriderMan © (2006-12-11 16:20) [38]Не впечатлило. Чем фича реально полезна - не понимаю.
← →
Игорь Шевченко © (2006-12-11 16:30) [39]Rouse_ © (11.12.06 16:15) [37]
Эти-то скорллбары в окно встраиваются.
← →
Rouse_ © (2006-12-11 16:34) [40]
> Эти-то скорллбары в окно встраиваются.
Угу, я ж говорю, что у нас кастом, (см картинку, обрати внимание на нижний скролл) и приходится использовать не родные, а ручками.
← →
Игорь Шевченко © (2006-12-11 16:43) [41]Rouse_ © (11.12.06 16:34) [40]
Не разглядел с первого раза :)
← →
Иксик © (2006-12-11 16:48) [42]Отличная штука!!
← →
vidiv © (2006-12-11 16:53) [43]
> Он патентанул только программу.
Программы в РФ нельзя патентовать
← →
Kerk © (2006-12-11 18:37) [44]Для больших документов он не пригоден, а в маленьких я и так неплохо ориентируюсь :)
Для больших документов его можно скрестить с реализацией сколлбара в Picasa
← →
Kolan © (2006-12-11 19:15) [45]> Picasa
Ну а скриншот?
← →
Джо © (2006-12-11 19:17) [46]Странный в этой пикасе скроллбар. До сих пор не могу понять абстракцию, кою он представляет. Хотя программой пользуюсь более полугода.
← →
antonn © (2006-12-11 19:23) [47]в ворд бы его, а то я постоянно путаюсь, номер какой страницы появляется в хинте скролбара (не то что бы путаюсь - матерюсь и ругаюсь:) потому как если на экране 4 пиксела от нижнего края предыдущей страницы - в хинте номер той страницы)
да и в дельфи бы не помешал
← →
Kerk © (2006-12-11 19:25) [48]> [46] Джо © (11.12.06 19:17)
Я сходу понял :))
http://kerkzone.net/images/trash/picasa_sb.jpg
Забыл еще там указать, что прямоугольник, обозначающий положение страницы,и меняет высоту в зависимости от количества разделов с фотками, видимых пользователями одновременно.
← →
Kolan © (2006-12-11 19:50) [49]> дельфи бы не помешал
А что тут можно придумать?
← →
Sapersky (2006-12-11 19:51) [50]Сметчики не жалуются, ибо удобно им :)
Сорри за оффтоп, но некоторые сметчики недовольны отсутствием поддержки двухколёсной мыши. И ещё кое-чем, хотя версия у них явно более старая, чем та, что на скриншоте.
← →
Kolan © (2006-12-11 19:54) [51]> хотя версия у них явно более старая
Ну так в чем жалоба то? В новой наверно учтено...
← →
Rouse_ © (2006-12-11 21:26) [52]
> Сорри за оффтоп, но некоторые сметчики недовольны отсутствием
> поддержки двухколёсной мыши.
Двухколесной это, простите, через как?
← →
Kolan © (2006-12-11 21:28) [53]> [52] Rouse_ © (11.12.06 21:26)
>
> > Сорри за оффтоп, но некоторые сметчики недовольны отсутствием
>
> > поддержки двухколёсной мыши.
>
> Двухколесной это, простите, через как?
Это одно колесо верх низ, друго право лево...
← →
wicked © (2006-12-11 21:44) [54]
> Я испугался. Скроллбары, которые в окнах, они NCPAINT не
> получают. Их окно получает, ну и эти...скроллбары рисует.
> Также как рамку, полосу меню и прочие неклиентские штучки.
но перехватить и обработать это можно...
например, вот такие сообщения пришлось перехватывать для "скинового движка"... отрывок из WindowProc:switch(Msg.Msg){
case WM_DESTROY:
ControlDestroy(Msg);
break;
case WM_NCCALCSIZE:
ControlNCCalcSize(Msg);
break;
case WM_NCPAINT:
ControlNCPaint(Msg);
break;
case WM_PAINT:
ControlPaint(Msg);
break;
case WM_SIZE:
ControlSize(Msg);
break;
case WM_STYLECHANGED:
ControlStyleChanged(Msg);
break;
case WM_STYLECHANGING:
ControlStyleChanging(Msg);
break;
case WM_NCHITTEST:
ControlNCHitTest(Msg);
break;
case WM_NCLBUTTONDOWN:
case WM_NCLBUTTONDBLCLK:
ControlNCLButtonDown(Msg);
break;
case WM_NCLBUTTONUP:
case WM_LBUTTONUP:
ControlButtonUp(Msg);
break;
case WM_NCMOUSEMOVE:
ControlNCMouseMove(Msg);
break;
case WM_MOUSEMOVE:
ControlMouseMove(Msg);
break;
/* case WM_ERASEBKGND:
ControlEraseBkgnd(Msg);
break;*/
case WM_HSCROLL:
ControlHScroll(Msg);
break;
case WM_VSCROLL:
ControlVScroll(Msg);
break;
default:
Recall(Msg);
}
отрывок кода реально работающей программы
← →
Gero © (2006-12-11 22:37) [55]> [54] wicked © (11.12.06 21:44)
> вот такие сообщения пришлось перехватывать для "скинового
> движка"
В общем-то, список вполне предсказуемый.
← →
Игорь Шевченко © (2006-12-11 22:39) [56]wicked © (11.12.06 21:44) [54]
Для Caption"а в свое время пришлось перехватывать
WM_SETTEXT
WM_SYSCOMMAND
WM_SETICON
WM_NCPAINT
WM_NCACTIVATE
WM_NCMOUSEMOVE
WM_NCLBUTTONDOWN
WM_INITMENUPOPUP
← →
wicked © (2006-12-11 22:50) [57]> Gero © (11.12.06 22:37) [55]
> В общем-то, список вполне предсказуемый.
как раз необходимость отрабатывать "мышиные" сообщения для того, чтобы "скроллеры" работали было неприятной неожиданностью... почему так - поленился разобраться
> Игорь Шевченко © (11.12.06 22:39) [56]
> WM_SETTEXT
> WM_SYSCOMMAND
> WM_SETICON
> WM_INITMENUPOPUP
до этих дело не дошло... либо плохо оттестировал, либо перекрыто в других местах... хотя скиновый компонент полностью отрисовывал окна, к которым был привязан и запускался на 98SE (под VM ware), XP (с включенными и выключенными темами)... жаль, что прожект "заглох" - скиновый движок в стадии стабильной беты... но это уже не от меня зависит
← →
Игорь Шевченко © (2006-12-11 22:58) [58]wicked © (11.12.06 22:50) [57]
А на XP я не видел нормально работающего механизма, позволяющего произвольно отрисовывать неклиентскую область. При каких-то действиях в каких-то местах все равно проскакивает XP"шное оформление. Либо надо слишком много писать, либо делать полностью клиентское окно и имитировать неклиентские области самостоятельно.
← →
Eraser © (2006-12-11 23:05) [59]> [58] Игорь Шевченко © (11.12.06 22:58)
> либо делать полностью клиентское окно и имитировать неклиентские
> области самостоятельно.
imho, в случае работы со скинами, это самый простой вариант, т.к. перехватывать надо только WM_NCHITTEST.
другое дело если требуется добавить свои элементы в неклиентскую область..
← →
Sapersky (2006-12-12 14:17) [60]Rouse_ © (11.12.06 21:26) [52]
http://www.nix.ru/autocatalog/mouse_a4/A4-Tech_Optical_GreatEye_2-Wheel_WOP-35PU_5but_2Roll_9953.html
Я так понимаю, дело именно в том, что у вас "кастом".
Двухколёсная мышь сама по себе нестандартное устройство, Windows ИМХО непосредственно их не поддерживает. Для мыши ставится драйвер, который опрашивает второе колесо и выполняет прокрутку в активном скролл-окне.
Так что нужно либо изо всех сил притворяться стандартным окном, либо попробовать добраться до второго колеса вручную, через DirectInput что ли, который как раз и предназначен для работы с нестандартными многоосевыми устройствами. Впрочем, возможно, китайские мастера сделали сугубо офисную мышь и DirectInput её увидит как обычную.
Кстати о DirectInput: вот у меня ещё джойстик есть... :))
← →
Rouse_ © (2006-12-12 14:26) [61]Джойстик? :)
Представил себе ситуевину, когда сметчик прирутил себе руль, три педали, джойстик и виртуальный шлем в придачу и пытается работать :)
Не - такое мы врятли будем поддерживать :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];
Память: 0.6 MB
Время: 0.054 c