Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

Забавный скроллбар   Найти похожие ветки 

 
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.57 MB
Время: 0.042 c
3-1161093040
Desdechado
2006-10-17 17:50
2006.12.31
Ищу пояснения по полям User_Indexes


1-1163319478
MetalFan
2006-11-12 11:17
2006.12.31
Глюк или крив.руки? TMenuItem.Checked


15-1165946774
ProgRAMmer Dimonych
2006-12-12 21:06
2006.12.31
Наверное, ламерский вопрос...


9-1140729801
Kolan
2006-02-24 00:23
2006.12.31
Пытаюсь вспомнить как называлась игра, которую тут представляли..


9-1140722396
Fenix
2006-02-23 22:19
2006.12.31
Поблемы с DCE. (нет компонента)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский