ПредишенСледващото

На пръв поглед, ленти за превъртане елементи изглеждат много прости, но аз наскоро открих, че нуждите ми за прилагането им в .NET изисква малко настройка. Реших да напиша малко приложение тест да разгледа този елемент, и най-вече как различните настройки на свойствата му се отрази на външния вид и функционалността на страната на полагане.
  • Свали демо проект - 8.23 ​​KB

Проект на завъртания в лента

влизане

Някои термини, използвани в тази статия:

"Превъртане от" ( "превъртане на страницата"): - когато съдържанието на видимата част на документа (изображения и т.н.), се заменя със следния част от съдържанието на същия размер като на текущата песен. Например, може да има видима част на документа е ограничена до 20 реда текст, а след това, ако кликнете върху бутона със стрелка надолу, ще видите следните 20 реда текст.

"Превъртане" - това е "банда върти" в българската версия. За тези, които са в резервоара: бандата се върти - е, като правило, две ленти по ръбовете на прозореца (един - хоризонтално дъно и една вертикална - вдясно). "Групата се върти" се състои от следните елементи:
  • "Band" (песен) - част от лентата за превъртане, което представлява група (кой би си помислил, в противен случай :)), символизиращи линейния размер (ширина или височина) на документа.
  • две бутоните със стрелки (бутоните със стрелки) в двата края на лентата (писта). Като правило, това са два бутона, обаче, във всички известни Word'e им четири (с изключение на превъртане с, са добавили разработчиците "Отиди в началото на документа" и "отиде в края на документа" бутона).
  • "Бегач" (палец)

"Бегач" (палец) - движеща се част на лентата за превъртане, правоъгълник. Използва се за достъп до произволно място на документа. Точност на позициониране зависи от точността на окото и твърдостта на ръка :) на потребителя.

"Под-страница" - това е извън видимата част на документа.

Как Scrollbar?

Има три неща в лентата за превъртане (плъзгач), обикновено се създаде, когато го използвате:

  • "Ротор" (палец), така че да показва съотношението на видимата част от документа на общия размер на документа, който се символизира от височината на лентата (или ширината в случай на хоризонтално плъзгач). (Прибл. Превод. С други думи, по-голямата документ, толкова по-малко самостоятелно "плъзгача". На височина (ширина) на лентата за превъртане представлява 100% от височината (широчина) на документа, а "слайдер" измерение представлява процентът на видимата част на документа по отношение на целия документ. )
  • Как да се създаде лентата за превъртане, така че той прелисти документа правилно, когато потребителят кликне върху "лентата" себе си (песен).
  • Как да изберете лентата за превъртане, за да можете да следите точно промени "под-страница", когато потребителят премести "плъзгач" (палец) или използва за тези цели бутоните със стрелки, един от двата края на лентата за превъртане.

Всичко това е достатъчно лесно да се направи в .NET, като се използват следните свойства:

  • LargeChange определя размера на видимата част на документа - с размерите на "страници" ( "страница").
  • Максимална определя общия размер на документа.

Монтирането на тези две свойства по отношение на лентата за превъртане, е важно да се размер "слайдер" пропорционалност отразява видима част - "страница", и съответния размер (ширина или височина) на самия документ. Следната формула показва връзката между отношението към LargeChange и Максимум "слайдер" дължина (Thumb Дължина) на дължината на лентата за превъртане (Тук използвам дължината да влияят един на размер, ширина или височина):

В резултат на това, когато потребителят кликне върху лентата, стойността scrollbar'skogo стойност ще се промени на LargeChange (т.е. там ще бъде огледален).

Под-превъртане на страниците

защото сега не мога да се определи "прав" (в смисъл на редица разделена на по-малки компоненти) за SmallChange (този имот е от тип Int). Вместо това, аз трябваше да напиша нещо по следния начин:

Но това нещо. Сега ми "неявил се", вече не е пропорционална на видимата част на документа ( "страница")! Сега "плъзгач" представлява съотношението на един ред в целия документ, вместо на "страницата" на целия документ. Тъй като страда от това по някакъв начин, и функционалността на приложението, че такава "изкривяване" на визуалния аспект на мярката не може да бъде.

Изходът от тази ситуация е разделянето LargeChange (който се използва за задаване на размера подобава "слайдер") и действителната промяна за стойност. Когато потребителят кликне върху "лента" (песен). Това се постига чрез претоварване метод WndProc и прихващат съобщения превъртане "страница" нагоре / надолу :

Този плъзгач контролира поведението по подразбиране и промените стойността. на базата на моя предпочитан стойност за превъртане (собственост ValLargeChange).

заключение

Можете да видите тази разлика в "действие" в настоящия демо приложението. Имайте предвид, че този код не е съвършен, но основната му цел - ". Отлична" изучаването на проблемите, с които той успява да

Подкрепете проекта - споделете линка, благодаря!