Меню сайта
Категории раздела
PHP [0]
Видео уроки [0]
DELPHI [45]
BASIC [0]
HTML [0]
JAVA [0]
C++ / C# [0]
Радио
ЧАТ
200
Облако тегов
Облако фото
Форум
  • композитная арматура (0)
  • Справедливо ли это???? (1)
  • Недвижимость в Тюмени (1)
  • Качество услуг и обслуживания (2)
  • строительный эксперт (0)
  • гид по Греции (0)
  • винные туры по Италии (0)
  • деревянные лестницы (0)
  • гид по Италии (0)
  • Разные поздравления (1)
  • Главная » Статьи » Программисту » DELPHI

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

    В разделе Private запишем:
    private
    { Private declarations }
    procedure WMMOUSEWHEEL(var Msg: TMessage); message WM_MOUSEWHEEL;

    В разделе Implementation:
    procedure TMainForm.WMMOUSEWHEEL(var Msg: TMessage);
    var
    zDelta: Integer;
    begin
    inherited;
    if WindowFromPoint(Mouse.CursorPos) <> ScrollBox1.Handle then Exit;
    if Msg.WParam < 0 then zDelta := -10 else zDelta := 10;
    with ScrollBox1 do
    begin
    if ((VertScrollBar.Position = 0) and
    (zDelta > 0)) or ((VertScrollBar.Position = VertScrollBar.Range - ClientHeight) and
    (zDelta < 0)) then Exit;
    ScrollBy(0, zDelta);
    VertScrollBar.Position := VertScrollBar.Position - zDelta;
    end;
    end;


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

    if WindowFromPoint(Mouse.CursorPos) <> ScrollBox1.Handle then Exit;

    По материалам Delphisources.ru
    Категория: DELPHI | Добавил: SeM (24.03.2011)
    Просмотров: 1271 | Теги: Delphi | Рейтинг: 5.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    Новый Год
    Опрос
    Изменить дизайн?


    Всего ответов: 16
    Всего голосовало: 16
    Обсудить на форуме
    Друзья сайта
    измерьте скорость интернета Яндекс.Метрика
    Проверить тИЦ и PR
    Статистика
    Погода
    Яндекс.Погода
    Коменнтарии

    Извиняюсь, заработал. Спасибо за урок biggrin

    Компонент не работает

    Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?

    у меня все работает!

    Нифига не робит...
    Кто знает как сделать чтобы на жесткий жертвы сохранял..
    ISQ 606017777

    FSDGHDFJHRG


    Отзывы Фото
    6 микр. Красивое место....

    Ершов ))))

    Старый музей но щас его перенесли...

    Фотография под горы smile

    Красивое фото!!! smile

    Copyright MyCorp © 2024