![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здраствуйте!
Как можно отыскать вышеуказанные компоненты? Должны быть на странице Dialogs, а сейчас их там их нет. Раньше были, т.к. писал прогу с их использованием. Ничего не удалял. Стоит Delphi 7. Всё, нашел. Они на другой вкладке. Врут же некоторые книги, все самому проверять приходится ![]() Последний раз редактировалось Deuterium, 29.01.2009 в 21:24. |
|
#2
|
|||
|
|||
|
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
|
|||
|
|||
|
Сегодня что, все отсыпаются после вчерашнего?
Помогите с менюшкой пожалуйста. |