BARRE DE SÉLECTION GRAPHIQUE

Utilisateur anonyme - 28 déc. 2005 à 12:06
cruchacode Messages postés 11 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 22 février 2012 - 8 janv. 2008 à 09:32
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

cruchacode Messages postés 11 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 22 février 2012
8 janv. 2008 à 09:32
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...
asciidefond Messages postés 8 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 7 septembre 2007
29 déc. 2005 à 03:03
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 @+.
Utilisateur anonyme
28 déc. 2005 à 16:04
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 8 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 7 septembre 2007
28 déc. 2005 à 13:51
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?).
@+
Utilisateur anonyme
28 déc. 2005 à 12:06
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
Rejoignez-nous