|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ShellTreeView и ShellListView
Здраствуйте!
Как можно отыскать вышеуказанные компоненты? Должны быть на странице Dialogs, а сейчас их там их нет. Раньше были, т.к. писал прогу с их использованием. Ничего не удалял. Стоит Delphi 7. Всё, нашел. Они на другой вкладке. Врут же некоторые книги, все самому проверять приходится Последний раз редактировалось Deuterium, 29.01.2009 в 21:24. |
#2
|
|||
|
|||
help
1.подскажите как сделать чтоб кликом левой кнопки мыши на пустом месте в компоненте ShellListView окрывалось контекстное меню виндовского проводника.
2. как сделать чтоб из одного окна ShellListView в другое можно было копировать файлы и папки простым перетаскиванием. заранее спасибо !!! |
#3
|
|||
|
|||
1. Да там, вроде, было какое-то свойство - использовать системное всплывающее меню. Навскидку название не подскажу - посмотри внимательно сам.
2. Только реализовав обработчик соответствующего события. ставишь dragMode в dmAutomatic и пишешь пару обработчиков событий - OnDragOver и OnDragDrop (кажется так). В первом компонент возвращает можно ли в него бросать перетаскиваемые объекты, во втором - собственно что делать при бросании этих объектов. |
#4
|
|||
|
|||
Сейчас пишу файловый менеджер, и не знаю, как решить эти проблемы:
1. Проблема номер раз. Цитата:
2. Как сделать сортировку в ShellListView, Чтобы при нажатии на столбец список файлов упорядочивался по нему. Помогите, кто чем может. |
#5
|
|||
|
|||
Вот уж не думал, что с сортировкой будет все так сложно. Вот что откопал в сети по этому поводу:
Нужно изменить модуль ShellCtrls.pas следующим образом: Код:
TCustomShellListView = class(TCustomListView, IShellCommandVerb) ... public ... // Добавить следующую строку строку: property FolderList: TList read FFolders; ... end; Код:
unit Unit1; interface ... type TForm1 = class(TForm) ShellListView1: TShellListView; ... procedure ShellListView1ColumnClick(Sender: TObject; Column: TListColumn); ... private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var SortColumn: Integer; function ShellCompare(Item1, Item2: Pointer): Integer; begin Result := Smallint( TShellFolder(Item1).ParentShellFolder.CompareIDs( SortColumn, TShellFolder(Item1).RelativeID, TShellFolder(Item2).RelativeID)); end; procedure TForm1.ShellListView1ColumnClick(Sender: TObject; Column: TListColumn); begin SortColumn := Column.Index; ShellListView1.FolderList.Sort(ShellCompare); ShellListView1.Invalidate; end; Вот ссылочка на оригинал статьи (на английском): http://www.festra.com/wwwboard/messages/7369.html Последний раз редактировалось Kapitoshka438, 30.11.2009 в 02:59. |
#6
|
|||
|
|||
Сегодня что, все отсыпаются после вчерашнего? Помогите с менюшкой пожалуйста.
|