| Структура программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
TList и расход памяти, Как правильно очистить записи в TList? Типизированные файлы Как Вы относитесь к курящим девушкам? Помогите написать программу Ошибка с TStrings scanf в Delphi календарь TDataTimePicker, Как открыть встроенный календарь? Составление БД выражений Delphi, Проект "Межъязыковый словарь" ПОМОГИТЕ!!!!!!! РЕШИТЬ ЗАДАЧИ ПО ДЕЛФИ ПЛИ, пожалусто Try - except структура, как исключить оштбку Система тестов инсталляция шрифтов Строки и алгоритмы, Поиск вхождений Помогите с поиском исходников, сильно необходимо Календарь на Delphi, Простой календарь под Windows. Как скрыть окно?, не могу скрыть окно Освобождение памяти, нужно или нет Перевод в экспоненциальную форму Как на Delphi менять символ на другой Изменение масштаба TabControl программное переключение вкладок Помогите решить лабораторную!, Помогите решить лабораторную! Установка даты, Как? Как? Как? проблема с ObjectInspector, Исчезновение обработчиков событий Поиск всех одинаковых файлов на диске Очистка Tempory Internet Files, Нужен код для очистки этой папки Нижний индекс в тексовом поле., H2SO4 Где у TMemo метод Append() или его синоним? Столбцы и строки в StringGrid, Как программно изменить их размеры? Установка драйвера, Программно (де-) инсталлировать драйвер как использовать функцию FindFileInTree Картинку вперед TreeView странно себя ведёт Не могу нойти компоненты, Нужны графические компоненты Нижний индекс в тексовом поле., H2SO4 Стандартные диалоги, типа "Открыть", "Сохранить" и т.п. Помогите аписать программу на паскале Повторный вызов процедуры TreeView и GroupBox, Как связать узлы TreeView с GroupBox? TreeView, Длиные записи???? Перевод числа в градусы, по косинусу Консоль Delphi & русские буквы при Run Кнопка TButton + нажатие/отпускание Ячейки в StringGrid, Фон ячейки Сохранение шрифта таблицы в ini-файл Реакция на OnEnter, как перекрыть OnEnter? Как Вы относитесь к курящим девушкам? Кубический корень Использование ShellListView, Компонерт со свойством MultiSelect Чтение из открытого файла, смотрел DRKB но что-то не получается Использование проги для открытия файлов, как сделать что бы прога открывала файлы headercontrol Циклическая ссылка, Взаимный вызов методов форм Teorija verojtnosti na delphi za $$$, Kto moghet napisat' prog. na teop. Veroj Как построить круговую диаграмму в TCHART, (имея 4 параметра) Installer SDK в Delphi Создание компонентов, DBGrid Присваивание файловых переменных, такое возможно??? Как создать свой файл с помощью FileCreate Работа с файлом Жмем кнопки клавы програмно, Жмем кнопки клавы програмно Компонент ShellListView, Как управлять этим компонентом??? как сделать прокрутку у ole container'a, При это он не активизирован Как увеличить значение указателя POINTER Установка шрифта, как сделать? Изменение Position & BorderStyle у формы, При инициализации формы... TStringGrid-ввод данных мышкой Что такое файл vcl50.bpl? Работа со строками, (для балбесов) Как откопировать 2-мерный динамический массив?, размер заранее не известен |
Платные хостинги Раскрутка сайта Книги по программированию Компонент ShellListView, Как управлять этим компонентом???
- Народ, у меня возник очень важный для меня вопрос:Как сделать так, чтобы компонент, ShellListView отображал только те элементы рабочего стола, которые я захочу.Заранее спасибо всем за любую, помощь!!! Это сообщение отредактировал Zero - 13.11.2004, 19:48 - Написать свой. - Я бы непротив, но тогда как получить список отдельных ярлыков, и пирикинуть их на форму или на то, на чём они должны отображатся??? - Возьми ListView и создай в нем столько элементов, сколько тебе нужно, а картинку возьми из ярлыка (пример извлечения иконки из ярлыка есть в DRKB) - 1... Код uses ...ShlObj;...function GetFolderPath(nFolder:Integer):String;var pidlItself:PItemIDList; s:string; hr:HResult; i:integer;begin Result:=''; hr:=SHGetSpecialFolderLocation(0,nFolder,pidlItself); if Succeeded(hr) then begin SetLength(s,MAX_PATH*10); if SHGetPathFromIDList(pidlItself,PChar(s)) then begin i:=Pos(#0,s); if i=0 then i:=Length(s); Result:=trim(copy(s,1,i)); end; end;end;highlightSyntax('delphiRkNzNl','delphi');2. Неуверен что правильно тебя понял... но тем неменее... .Прицепи к OnAddFolder вот енту процедуру...Код procedure TForm1.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder; var CanAdd: Boolean);var s:string;begin if DeskTop='' then DeskTop:=ExtractFileName(GetFolderPath(CSIDL_DESKTOP)); try s:=AFolder.Parent.DisplayName; except s:=''; end; if (AnsiCompareText(s,DeskTop)=0) then begin s:=AFolder.DisplayName; if (AnsiCompareText(s,'Корзина')=0)or(AnsiCompareText(s,'Сетевое окружение')=0) then CanAdd:=false else begin s:=ExtractFileName(AFolder.PathName); if AnsiCompareText('MPIRun.lnk',s)=0 then CanAdd:=false; end; end;end;highlightSyntax('delphiWRkNzA','delphi');PS: Не показываем 'Корзину', 'Сетевое окружение' и файл 'MPIRun.lnk'Удачи. Это сообщение отредактировал Girder - 13.11.2004, 23:34 - Упс, я извеняюсь, я не заметил, что Гирдер, мне уже выслал код...Это сообщение не к месту...Спасибо Гирдер, буду пробывать... Это сообщение отредактировал Zero - 13.11.2004, 23:28 - На самом деле мне нужно сделать, чтобы при запуске приложения Delphi все ярлыки которые уже созданы, не отображались на ShellListView, а которые далее я создаю программным путём отображались.Всё уже сделано кроме правильного отображения информации в ShellListView...Пожалуйста, если знаешь как это исправить, то напиши мне ещё кусок кода, а то мне через неделю уже сдавать курсач, а у меня не сделана всего-лишь одна мелоч, но которая может существенно повлиять на оценку. - Ладно народ, раз уж у меня не получилось сделать тем способом, то я придумал новый, если сделать двойной щелчок мышью по компоненту ShellListView, то появится окно где путь можно поменять на не стандартный (на свой), но проблема теперь в том что на разных компьютерах он может быть разным, и мне нужно чтобы его можно было устанавливать программно, но вот это почему-то не как не получается сделать... Может из вас кто-нибудь знает как это можно сделать, заранее благодарен.Замечание: Путь содержит сво-во Root, и его-то надо програмно изменить... Это сообщение отредактировал Zero - 14.11.2004, 11:30 - Код const p = 'Root:\';begin ShellListView1.Root:= AnsiReplaceText(p, 'Root', 'c');highlightSyntax('delphiMTI0ZD','delphi'); - Alex, что то при компиляции выдаётся ошибка:[Error] Work_Table.pas(151): Undeclared identifier: 'AnsiReplaceText' Может здесь несоответствие типов???И ещё здесь получается, что если путь ставить программно, то всё равно тот который стоит в константах, и получается что его нельзя будет изменять, т.е.У меня есть строка которая определяет путь, который должен отображатся компонентом ShellListView, но никак не получается её занести в свойство Root. - У тебя Delphi какой версии?Цитата (Zero @ 14.11.2004, 12:30)И ещё здесь получается, что если путь ставить программно, то всё равно тот который стоит в константах, и получается что его нельзя будет изменять, т.е.Ничего не понялЦитата (Zero @ 14.11.2004, 12:30)У меня есть строка которая определяет путь, который должен отображатся компонентом ShellListView, но никак не получается её занести в свойство Root. Покажи код - Delphi7Цитата Ничего не понялКороче, если говорить по руски, то это можно представить так:Код Var s:string; //Допустим у меня какая-то строка...highlightSyntax('delphiYWU0NT','delphi');Например при появлении формы, она присвоит какой-нибудь путь:Код procedure TForm1.FormShow(Sender: TObject);begin s:='C:\...\MyDesktop'end;highlightSyntax('delphiYTgzOW','delphi');И потом неплохо было-бы если при написании такого кода компилятор мне не выдал бы сообщение об ошибке: Код ShellListView1.Root:=s; //Но к сожалению так делать нельзя :( highlightSyntax('delphijFkYjc','delphi'); - 100% работает:Код procedure TForm1.Button3Click(Sender: TObject);var s: String;begin s:= 'C:\'; ShellListView1.Root:= s;end;highlightSyntax('delphiTYyNTQ','delphi'); - И у меня это работает! - А сейчас уже (когда заработало) я вспомнил, про то что надо навести курсор на слово и нажать <F1>, но доэтого когда в голове ещё то что срок через неделю, и такая мелкая ошибка с которой пол дня сижу, всё сразу вылетело. |