BARRE DE SÉLECTION GRAPHIQUE

Signaler
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
-
Messages postés
11
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
22 février 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35297-barre-de-selection-graphique

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...
Messages postés
8
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 @+.
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
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
Messages postés
8
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?).
@+
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
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