Simple zone de liste déroulante de la propriété de l'éditeur


Le code suivant montre comment créer une zone de liste déroulante de la propriété de l'éditeur.
Testé à l'aide de Delphi 5
unité de ComboTest
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls, DsgnIntf
type
& nbsp & nbsp TEditList = classe(TEdit)
& nbsp & nbsp privé
& ! & ! & ! & nbsp FListValue: string
& nbsp & nbsp publié
& ! & ! & ! & nbsp propriété ListValue: chaîne de lecture FListValue écrire FListValue
& nbsp & nbsp fin
procédure Register
application
type
& nbsp & nbsp TTextProperty = classe(TPropertyEditor)
& nbsp & nbsp privé
& ! & ! & ! & nbsp FList: TStringList
& nbsp & nbsp public
& ! & ! & ! & nbsp constructeur Créer(const ADesigner: IFormDesigner
& ! & ! & ! & ! & ! & nbsp APropCount: Integer) remplacer
& ! & ! & ! & nbsp destructeur de Détruire remplacer
& ! & ! & ! & nbsp fonction GetValue: chaîne de remplacer
& ! & ! & ! & nbsp procédure SetValue(const Value: string) remplacer
& ! & ! & ! & nbsp procédure GetValues(Proc: TGetStrProc) remplacer
& ! & ! & ! & nbsp fonction GetAttributes: TPropertyAttributes remplacer
& nbsp & nbsp fin
procédure Register
begin
& nbsp & nbsp RegisterComponents('Échantillons', [TEditList])
& nbsp & nbsp RegisterPropertyEditor(TypeInfo(string), TEditList,

& ! & ! & ! & ! 'ListValue', TTextProperty)
fin
{ TSList }
constructeur TTextProperty.Créer(const ADesigner: IFormDesigner
& nbsp & nbsp APropCount: Entier)
begin
& nbsp & nbsp hérité de Créer(ADesigner, APropCount)
& nbsp & nbsp FList := TStringList.Créer
& nbsp & nbsp essayer
& ! & ! & ! & nbsp FList.LoadFromFile('c:\customstrings.txt')
& nbsp & nbsp à l'exception de
& ! & ! & ! & nbsp FList.Add('Article 1')
& ! & ! & ! & nbsp FList.Add('Item 2')
& nbsp & nbsp fin
fin
destructeur TTextProperty.Détruire
begin
& nbsp & nbsp FList.SaveToFile('c:\customstrings.txt')
& nbsp & nbsp FList.Gratuit
& nbsp & nbsp hérité de Détruire
fin
fonction de TTextProperty.GetAttributes: TPropertyAttributes
begin
& nbsp & nbsp Résultat := [paValueList, paSortList]
fin
fonction de TTextProperty.GetValue: string
begin
& nbsp & nbsp Result := (GetComponent(0) TEditList).ListValue
fin
procédure TTextProperty.GetValues(Proc: TGetStrProc)
var
& nbsp & nbsp I: Longint
begin
& nbsp & nbsp for I := 0 to FList.Comptez -1 do
& ! & ! & ! & nbsp Proc(FList.Cordes[I])
fin
procédure TTextProperty.SetValue(const Value: string)
begin
& nbsp & nbsp (GetComponent(0) TEditList).ListValue := Valeur
& nbsp & nbsp si FList.IndexOf(Valeur) = -1, alors
& ! & ! & ! & nbsp FList.Ajouter(Valeur)
fin
à la fin.









Simple zone de liste deroulante de la propriete de l'editeur


Simple zone de liste deroulante de la propriete de l'editeur : Plusieurs milliers de conseils pour vous faciliter la vie.


Le code suivant montre comment creer une zone de liste deroulante de la propriete de l'editeur.
Teste a l'aide de Delphi 5
unite de ComboTest
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls, DsgnIntf
type
& nbsp & nbsp TEditList = classe(TEdit)
& nbsp & nbsp prive
& ! & ! & ! & nbsp FListValue: string
& nbsp & nbsp publie
& ! & ! & ! & nbsp propriete ListValue: chaîne de lecture FListValue ecrire FListValue
& nbsp & nbsp fin
procedure Register
application
type
& nbsp & nbsp TTextProperty = classe(TPropertyEditor)
& nbsp & nbsp prive
& ! & ! & ! & nbsp FList: TStringList
& nbsp & nbsp public
& ! & ! & ! & nbsp constructeur Creer(const ADesigner: IFormDesigner
& ! & ! & ! & ! & ! & nbsp APropCount: Integer) remplacer
& ! & ! & ! & nbsp destructeur de Detruire remplacer
& ! & ! & ! & nbsp fonction GetValue: chaîne de remplacer
& ! & ! & ! & nbsp procedure SetValue(const Value: string) remplacer
& ! & ! & ! & nbsp procedure GetValues(Proc: TGetStrProc) remplacer
& ! & ! & ! & nbsp fonction GetAttributes: TPropertyAttributes remplacer
& nbsp & nbsp fin
procedure Register
begin
& nbsp & nbsp RegisterComponents('Echantillons', [TEditList])
& nbsp & nbsp RegisterPropertyEditor(TypeInfo(string), TEditList,

& ! & ! & ! & ! 'ListValue', TTextProperty)
fin
{ TSList }
constructeur TTextProperty.Creer(const ADesigner: IFormDesigner
& nbsp & nbsp APropCount: Entier)
begin
& nbsp & nbsp herite de Creer(ADesigner, APropCount)
& nbsp & nbsp FList := TStringList.Creer
& nbsp & nbsp essayer
& ! & ! & ! & nbsp FList.LoadFromFile('c:\customstrings.txt')
& nbsp & nbsp a l'exception de
& ! & ! & ! & nbsp FList.Add('Article 1')
& ! & ! & ! & nbsp FList.Add('Item 2')
& nbsp & nbsp fin
fin
destructeur TTextProperty.Detruire
begin
& nbsp & nbsp FList.SaveToFile('c:\customstrings.txt')
& nbsp & nbsp FList.Gratuit
& nbsp & nbsp herite de Detruire
fin
fonction de TTextProperty.GetAttributes: TPropertyAttributes
begin
& nbsp & nbsp Resultat := [paValueList, paSortList]
fin
fonction de TTextProperty.GetValue: string
begin
& nbsp & nbsp Result := (GetComponent(0) TEditList).ListValue
fin
procedure TTextProperty.GetValues(Proc: TGetStrProc)
var
& nbsp & nbsp I: Longint
begin
& nbsp & nbsp for I := 0 to FList.Comptez -1 do
& ! & ! & ! & nbsp Proc(FList.Cordes[I])
fin
procedure TTextProperty.SetValue(const Value: string)
begin
& nbsp & nbsp (GetComponent(0) TEditList).ListValue := Valeur
& nbsp & nbsp si FList.IndexOf(Valeur) = -1, alors
& ! & ! & ! & nbsp FList.Ajouter(Valeur)
fin
a la fin.


Simple zone de liste déroulante de la propriété de l'éditeur

Simple zone de liste déroulante de la propriété de l'éditeur : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation