Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Drag and Drop между двумя компонентами ListBox

Delphi , Синтаксис , Drag and Drop

Drag and Drop между двумя компонентами ListBox

Вот пересмотренный OnDragDrop, использующий source (источник) и sender (передатчик) вместо DstList и SrcList. Теперь, если вы установили SrcList и DstList для использования тех же методов OnDragOver и OnDragDrop и создали обработчик события OnDragDrop, то для операции Drag and Drop вы можете использовать оба решения.


procedure TDualListDlg.DstListDragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  droppedOnIndex: integer;
  anItem: integer;
  numberOfItems: integer;
begin
  if (Sender is TListbox) and (Source is TListBox) then
  begin
    droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false);
    numberOfItems := TListBox(Source).SelCount;
    anItem := 0;
    while numberOfItems > 0 do
    begin
      if TListBox(Source).Selected[anItem] = true then
      begin
        TListBox(Sender).Items.Insert(droppedOnIndex,
          TListBox(Source).Items[anItem]);
        TListBox(Source).Items.Delete(anItem);
        TListBox(Source).Update;
        TListBox(Sender).Update;
        numberOfItems := numberOfItems - 1;
      end
      else
        anItem := anItem + 1;
    end;
  end;
end;

Для того, чтобы предотвратить операцию Drag and Drop с одним и тем же компонентом, используйте следующий код в обработчике события OnDragOver:


if (Sender is TListBox) and (Source is TListBox) then
begin
  if TListBox(Sender).Name = TListBox(Source).Name then
    Accept := False
  else
    Accept := true;
end;

Статья Drag and Drop между двумя компонентами ListBox раздела Синтаксис Drag and Drop может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Drag and Drop ::


реклама

::


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
04.07.2020 09:40:57/0.012460947036743/0