Kā izmantot Delphi, lai izveidotu pielāgotu Windows Explorer

click fraud protection

Windows Explorer ir tas, ko Windows operētājsistēmā izmantojat, lai pārlūkotu failus un mapes. Jūs varat izveidot līdzīgu struktūru ar Delphi, lai tas pats saturs tiktu aizpildīts jūsu programmas lietotāja interfeisā.

Kopējie dialoglodziņi tiek izmantoti Delphi līdz atveriet un saglabājiet failu lietojumprogrammā. Ja vēlaties izmantot pielāgotus failu pārvaldniekus un direktoriju pārlūkošanas dialogus, jums jātiek galā ar failu sistēmas Delphi komponentiem.

Win 3.1 VCL paletes grupā ietilpst vairāki komponenti, kas ļauj jums izveidot savu pielāgoto dialoglodziņu "File Open" vai "File Save": TFileListBox, TDirectoryListBox, TDriveComboBox, un TFilterComboBox.

Navigācija failos

Failu sistēmas komponenti ļauj mums izvēlēties diskdzini, redzēt diska hierarhisko direktoriju struktūru un redzēt noteiktā direktorijā esošo failu nosaukumus. Visi failu sistēmas komponenti ir izstrādāti darbam kopā.

Piemēram, jūsu kods pārbauda, ​​ko lietotājs ir izdarījis, piemēram, DriveComboBox, un pēc tam šo informāciju nodod DirectoryListBox. Pēc tam direktorijā DirectoryListBox veiktās izmaiņas tiek pārsūtītas uz FileListBox, kurā lietotājs var izvēlēties nepieciešamo failu.

instagram viewer

Dialoglodzes noformēšana

Sāciet jaunu Delphi aplikācija un atlasiet cilni Win 3.1 Komponentu palete. Pēc tam rīkojieties šādi:

  • Ievietojiet veidlapā vienu TFileListBox, TDirectoryListBox, TDriveComboBox un TFilterComboBox komponentu, saglabājot visus to noklusējuma nosaukumus
  • Pievienojiet vienu TEdit (ar nosaukumu "FileNameEdit") un vienu TLabel (sauc to par "DirLabel").
  • Iekļaujiet dažas etiķetes ar parakstiem, piemēram, "Faila nosaukums", "Direktorijs", "Saraksta tipa failu saraksts" un "Diskdziņi".

Lai DirLabel komponentu parakstā parādītu pašlaik atlasīto ceļu kā virkni, piešķiriet etiķetes nosaukumu DirectoryListBox Īpašums DirLabel.

Ja vēlaties parādīt atlasīto faila nosaukumu EditBox (FileNameEdit), jums FileListBox ir jāpiešķir objekta Rediģēšanas nosaukums (FileNameEdit). Īpašums FileEdit.

Vairāk koda rindiņu

Kad veidlapā ir visi failu sistēmas komponenti, jums vienkārši jāiestata DirectoryListBox. Diska īpašums un FileListBox. Direktorija īpašums, lai komponenti varētu sazināties un parādīt to, ko lietotājs vēlas redzēt.

Piemēram, kad lietotājs izvēlas jaunu disku, Delphi aktivizē DriveComboBox OnChange pasākumu kopējs. Padariet to izskatās šādi:

 procedūra TForm1.DriveComboBox1Change (Sūtītājs: TObject);
beginDirectoryListBox1.Drive: = DriveComboBox1.Drive;
beigas;

Šis kods maina displeju DirectoryListBox aktivizējot OnChange notikumu apstrādātājs:

 procedūra TForm1.DirectoryListBox1Change (Sūtītājs: TObject);
beginFileListBox1.Directory: = DirectoryListBox1.Directory;
beigas;

Lai redzētu, kādu failu lietotājs ir izvēlējies, jums jāizmanto OnDblClick pasākums FileListBox:

 procedūra TForm1.FileListBox1DblClick (Sūtītājs: TObject);
beginShowmessage ('Atlasīts:' + FileListBox1.FileName);
beigas;

Atcerieties, ka Windows konvencija ir veikt dubultklikšķi, lai izvēlētos failu, nevis vienu klikšķi. Tas ir svarīgi, strādājot ar FileListBox, jo, izmantojot bulttaustiņu, lai pārvietotos pa FileListBox, tiks izsaukts jebkurš OnClick apstrādātājs, kuru esat uzrakstījis.

Displeja filtrēšana

Izmantojiet FilterComboBox, lai kontrolētu failu tipus, kas tiek parādīti FileListBox. Pēc tam, kad FilterComboBox rekvizīta FileList iestatīšana ir FileListBox nosaukums, iestatiet filtru rekvizītam uz failu tipiem, kurus vēlaties parādīt.

Šeit ir filtra paraugs:

 FilterComboBox1.Filter: = 'Visi faili (*. *) | *. * | Projekta faili (* .dpr) | * .dpr | Paskāla vienības (* .pas) | * .pas ';

Ieteikumi un padomi

DirectoryListBox iestatīšana. Diska īpašums un FileListBox. Direktorija īpašumu (iepriekš rakstītos OnChange notikumu apstrādātājos) izpildlaikā var veikt arī projektēšanas laikā. Jūs varat izveidot šāda veida savienojumu projektēšanas laikā, iestatot šādus rekvizītus (no objekta inspektora):

DriveComboBox1.DirList: = DirectoryListBox1
DirectoryListBox1.FileList: = FileListBox1

Lietotāji var atlasīt vairākus failus FileListBox, ja tā MultiSelect īpašums ir True. Šis kods parāda, kā FileListBox izveidot vairāku atlases sarakstu un parādīt to SimpleListBox (daži “parastie” ListBox vadīklas).

 var k: vesels skaitlis; ...
ar FileListBox1 darīt
ja SelCount> 0, tad
k: = 0 vienumiem. Count-1 darīt
ja atlasīts [k], tad
SimpleListBox. Priekšmeti. Pievienot (priekšmeti [k]);

Lai parādītu pilnus ceļu nosaukumus, kas nav saīsināti ar elipsi, nepiešķiriet objekta apzīmējumu Label DirectoryListBox īpašumam DirLabel. Tā vietā ievietojiet etiķeti formā un iestatiet tās parakstu rekvizītu DirectoryListBox OnChange notikumā uz DirectoryListBox. Direktorija īpašums.

instagram story viewer