Hvordan lage en enkel "nylig brukte filer" -menyen /list i application.A stund siden jeg måtte legge til en "Siste filer Meny" i et prosjekt jeg jobber med. Så jeg skrev et enkelt komponent som skal være (A) fleksibel. (B) gjenbrukes i andre prosjekter. THistory ble født:) Du kan laste THistory her. Gjør hva du vil med den, men jeg ville apprechiate om du kunne gi meg beskjed hvis du bruker den i programmet:) Målet med denne artikkelen er å lage en enkel "gjenåpne" -menyen (se bildet nedenfor). Først noen kode så jeg skal prøve å forklare hva den gjør  //Oppdater "Gjenåpne" -listen .. 
  prosedyre 
 TfrmMain.History1Change (Sender: TObject);.  Var 
 jeg: integer;  begynne 
  med 
 Reopen1  ikke begynne 
 Clear;  for 
 i: = 0  til 
 History1.Count-en  
 i  begynne 
 Legg til (TMenuItem.Create (egen-));  med 
 Elementer [Count-1]  ikke begynne 
 Caption: = "& ' + IntToStr (i) + '' + History1.Items [i]; Tag: = i; Onclick: = GenericReopenClick;  slutten; enden, 
 Enabled: = Count > 0;  //Legg linebreak 
 Legg til (TMenuItem.Create (egen-)); Elementer [Count-1] .Caption: = '-';  //Legg til "Slett logg" 
 Legg (TMenuItem.Create (egen-));  med 
 Elementer [Count-1]  ikke begynne 
 Caption: = 'Clear History'; Tag: = 1; Onclick: = GenericReopenClick;  slutten; end, end, 
  //Gjenåpne element klikket ... 
  prosedyre 
 TfrmMain.GenericReopenClick (Sender: TObject);  begynne hvis 
 TMenuitem (Sender). tag > = 0  deretter 
 Openfile (History1.Items [TMenuitem (Sender) .Tag])  annet 
 History1.Clear;  slutten; 
  //... 
  prosedyre 
 TfrmMain.OpenFile (Filename: string);  begynne 
  //Din kode her ... 
 History1.AddItem (Filename);  slutten; 
 Merk at dette ikke er koden for komponenten, må du laste ned og installere det for at dette skal fungere. History1Change er OnChange event for min THistory objekt, History1. Hver gang en vare er lagt til History komponent denne prosedyren blir kalt så vi vet listen har blitt endret. Så vi bare gjenskape undermenyen for "Reopen1" med poster + en "Clear history" item.GenericReopenClick, prosedyren vi satt på alle menuitems onclick er der du vil sette inn koden for å håndtere hendelsen der noen har klikket på et element i vår meny. Jeg trodde det var lettest å spare indeksen for hver historie element i de tilsvarende menuitems 'Tag eiendom som du kan se ovenfor. Indeksen for en historie element kan aldri være -1 så jeg brukte den til å fjerne history.THistory kan bare belastning /lagre det er liste fra /til INI-filer. Men å legge til støtte for andre formater som registret eller et egendefinert format bør ikke være en problemet.Hvis du finner noen feil eller gjøre noen forbedringer, vennligst gi meg beskjed så jeg kan oppdatere den. 
Å gjøre en siste filene menu
Previous:Grunnleggende om Object Pascal (PDF)  
Next Page:En bakgrunn maleren class 
			 
        
