Прокручивать TTreeView во время перемещенияDelphi , Синтаксис , Drag and DropПрокручивать TTreeView во время перемещения
Оформил: DeeCo procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if (y < 15) then {On the upper edge - should scroll up } SendMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEUP, 0) else if (TreeView1.Height - y < 15) then { On the lower edge - should scroll down } SendMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEDOWN, 0); end; Here's the translation of the Delphi code snippet into Russian: Код-сниппет на языке Delphi, который обрабатывает событие Вот что код делает:
Идея за этим кодом - имитировать поведение стандартного Windows-контрола при перетаскивании элемента над его верхней или нижней границей, вызывая прокрутку вверх или вниз соответственно. Это может быть полезно в определенных сценариях, когда содержимое дерева quite large и требует частой прокрутки. Вот некоторые предложения:
Вот пример улучшения логике прокрутки:
В этом улучшенном варианте количество прокрутки рассчитывается на основе расстояния между курсором мыши и верхней или нижней границей дерева. Это должно обеспечить более плавное и точное прокручивание. В статье описывается способ прокручивания TTreeView компонента в Delphi при перемещении над ним, чтобы обеспечить доступность элементов дерева на верхней и нижней границах. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Drag and Drop ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |