Enkelt ComboBox eiendom Editor

Følgende kode viser hvordan du bruker oppretter en kombinasjonsboks eiendom editor.Tested bruker Delphi 5unit ComboTest, interfaceuses Windows, Meldinger, SysUtils, klasser, Grafikk, Kontroller, Skjemaer, dialogbokser, StdCtrls, DsgnIntf ​​-typen TEditList = klasse ( TEdit) private FListValue: string; publisert eiendom ListValue: string les FListValue skrive FListValue; enden, prosedyre Registrer; implementationtype TTextProperty = klasse (TPropertyEditor) private FList: TStringList; offentlig konstruktør Opprette (konst ADesigner: IFormDesigner; APropCount: Integer); styre; destructor Destroy; styre; funksjon GetValue: string; styre; Prosedyren SetValue (konst Verdi: string); styre; prosedyre GetValues ​​(Proc: TGetStrProc); styre; funksjons GetAttributes: TPropertyAttributes; styre; enden, prosedyre Register, begynner RegisterComponents ( 'Prøver', [TEditList]); RegisterPropertyEditor (TypeInfo (streng), TEditList, 'ListValue', TTextProperty); end; {TSList} konstruktør TTextProperty.Create (konst ADesigner: IFormDesigner; APropCount: Integer); begynner arvet Opprette (ADesigner, APropCount); FList: = TStringList.Create; prøve FList.LoadFromFile ( 'c: \\ customstrings.txt'); bortsett FList.Add ( 'Sak 1'); FList.Add ( 'Sak 2'); end, end, destructor TTextProperty.Destroy, begynner FList.SaveToFile ( 'c: \\ customstrings.txt'); FList.Free; arvet Destroy, ende, funksjons TTextProperty.GetAttributes: TPropertyAttributes, begynner Resultat: = [paValueList, paSortList]; ende; funksjon TTextProperty.GetValue: string; begynne Resultat: = (GetComponent (0) som TEditList) .ListValue; end; prosedyre TTextProperty .GetValues ​​(Proc: TGetStrProc), Var jeg: Longint; begynne for jeg: = 0 til FList.Count -1 gjør Proc (FList.Strings [i]); end; prosedyre TTextProperty.SetValue (konst Verdi: string); begynne (GetComponent (0) som TEditList) .ListValue: = verdi; hvis FList.IndexOf (verdi) = -1 så FList.Add (verdi); end;. slutten



Previous:
Next Page: