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

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

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

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

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

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


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