Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавить на панель некое подобие ярлыка / 7 сообщений из 7, страница 1 из 1
27.10.2021, 19:49
    #40107540
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
Как реализовать следующее:
Загрузить иконку, битмап из листа
Ниже не чтобы можно было вывести текст и даже может отредактировать
Переместить
Выделить ( имитация ), например серая рамка по клику
Двойной клик чтобы тоже работал

Типа как выглядит файл на рабочем столе - кликнул, он стал серым. Текст названия модно поменять. Если текст длинный, то он сворачивается до какого-то короткого названия. Двойной клик - какое то действие. Ну и перетаскивание работает тоже.

Спасибо.
...
Рейтинг: 0 / 0
27.10.2021, 19:57
    #40107542
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
TListView в режиме больших иконок. Это именно то, что и используется для
рабочего стола.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
27.10.2021, 23:16
    #40107602
Victor Cookin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
bzums,

Если с анимацией- то Tiles.
...
Рейтинг: 0 / 0
28.10.2021, 09:06
    #40107634
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
TListView попробовал, это то что нужно. Одно но, а перетаскивание в произвольное место получается не сделать?
На рабочем столе эе можно иконку перетащить на пустое место, поменять местами.
Тут же я, получается, могу только добавить / поменять местами.

Есть решение?

Спасибо.
...
Рейтинг: 0 / 0
28.10.2021, 12:35
    #40107696
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
...
Рейтинг: 0 / 0
29.10.2021, 20:21
    #40108190
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
Не позволяет квалификация, поэтому хочу чделать средствами VCL.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
procedure TListViewForm.DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  LV: TListView;
  Dest: TListItem;

  DragItem, DropItem, CurrentItem, NextItem: TListItem;

begin
  if Sender = Source then
    with TListView(Sender) do
    begin
      DropItem    := GetItemAt(X, Y);
      CurrentItem := Selected;
      while CurrentItem <> nil do
      begin
        NextItem := GetNextItem(CurrentItem, SdAll, [IsSelected]);

        if DropItem = nil then begin
          DragItem := Items.Add;
        end
        else begin
          DragItem := Items.Insert(DropItem.Index);
        end;
{
DragItem.Selected := True;
DragItem.Focused := True;
LV.Perform(LVM_SETSELECTIONMARK, 0, DragItem.Index);
LV.Invalidate;
}
        DragItem.Assign(CurrentItem);
        CurrentItem.Free;
        CurrentItem := NextItem;
      end;
    end;
end;


В принципе работает, но странно.
Как переместить в произвольное место?
...
Рейтинг: 0 / 0
29.10.2021, 20:25
    #40108192
bzums
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить на панель некое подобие ярлыка
И вторая проблема в том ,что при наличии полос прокрутки (иконок больше чем влезает на лист) при перетаскивании получаются некрасивые разрывы. Как это победить?
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавить на панель некое подобие ярлыка / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]