Barre de sélection graphique

Soyez le premier à donner votre avis sur cette source.

Vue 10 703 fois - Téléchargée 1 834 fois

Description

Exemples de barres de sélection graphique sur ComboBox/ListBox/StringGrid/Menu/PopupMenu

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32 -
Salut,
Dans un premier temps l'effet est génial
Mais il y a trop de choses inutiles à mon avis :
1°)
Dans la clause Uses tu peux retirer ceci car inutilisé
XPStyleActnCtrls, ActnList, ActnMan,
StdStyleActnCtrls, ToolWin, ActnCtrls,ActnColorMaps

2°)
Dans tous les évènements OnAdvencedDrawItem (dans l'inspecteur d'objets) tu peux mettre
la même procédure à savoir : Menuun1AdvancedDrawItem et du coup supprimer tous les autre procédure
...AdvancedDrawItem
procedure goRowselect1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure goEditing1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure PopupMenu31AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure PopupMenu21AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure PopupMenu11AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure SMC1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure SMB1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure SMA1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure SousMenu1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure Quitter1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure Menutrois1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
procedure Menudeux1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);


3°)
Dans l'évènement OnClick de goEditing1 tu peux mettre Button2Click
Dans l'évènement OnClick de goRowSelect1 tu peux mettre Button1Click
Et donc tu peux supprimer les deux évènements OnClick :
procedure goRowselect1Click(Sender: TObject);
procedure goEditing1Click(Sender: TObject);

Voilà c'est tout ce que j'ai remarqué pour l'instant

@+
Cirec
asciidefond
Messages postés
10
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
-
salut Cirec,
Dabord merci pour tes commentaires constructifs sur les clauses uses et les evènements, mais je ne comprend pas trop l'astuce pour les évènements OnClick des Button1 & Button2 (peut être une grosse fatigue de ma part?).
@+
cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
32 -
Pour les OnClick tu vas dans l'inspecteur d'objets onglet évènement et dans l'évènement OnClick tu remplaces goRowselect1Click par Button1Click en cliquant sur la dropDown list à droite l'évènement.

si toute fois ce n'était pas suffisamment claire je peut envoyer ton code modifier ce sera peut être plus simple à comprendre si oui tu m'envoies ton mail par message privé

@+
Cirec
asciidefond
Messages postés
10
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
-
Ce soir tout est limpide j'ai les yeux en face des trous(3h00 du matin), cette solution est toute aussi bien pratique et surtout économique en code que les précédentes. Merçi à toi Cirec et @+.
cruchacode
Messages postés
11
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
22 février 2012
-
Ne serait-il pas judicieux de créer les objets bitmap et icon une seule fois... lors de l'initialisation (du pgm ou d'un composant encapsulant les fonctionnalités proposées) ?

La conception objet serait à creuser... un chouilla... C'est tout facile et tellement plus pratique pour la conception d'applis, les tests et la réutilisation...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.