cs_philpas
Messages postés77Date d'inscriptionlundi 17 octobre 2005StatutMembreDernière intervention 4 septembre 2008
-
12 juil. 2006 à 09:15
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
9 août 2006 à 13:52
Bonjour,
j'ai un probléme avec les evènements onclick et onselectcell du composant stringgrid. Voilà ce que je veux faire. J'ai 2 stringgrids. La 1ère me donne une liste de fichier et la 2ème me donne le contenu du fichier sélectionné. Je veux quand je modifie le contenu du stringgrid1 et je selectionne une autre case de la stringgrid2 que celui ci me demande de sauvegarder le fichier avant d'afficher le nouveau contenu du nouveau fichier sélectionné. J'utilise donc l'évènement onselectcell où je mets mon alerte + la sauvegarde (j'ai besoin du contenu de la cellule qui était sélectionné) et l'évènement onclick où je mets la procédure d'affichage (là j'ai besoin du contenu de la cellule sélectionné). Hors l'évènement onclick ne se déclenche pas toujours.
j'ai mis
procedure TFiche_Gamme_Vitesse.StringGrid2_Liste_FPIClick(Sender: TObject);
begin
if Panel4_Lecture.Caption='Lecture active' then Lire_Afficher_Gamme; // affiche le tableau
end;
procedure TFiche_Gamme_Vitesse.StringGrid2_Liste_FPISelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
begin
if Modification_Active=True then
begin
if MessageDlg('Voulez vous sauvegarder les modifications?.',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
Memorise_StringGrid_Gamme;
Sauvegarde_Fichier_Vitesse;
end;
end;
end;
Dans ce cas si la modification est true, l'évènement onclick n'est pas déclenché tandis que si la modification est false, l'évènement onclick est déclenché. En fait après essai, c'est MessageDlg qui empêche l'évènement onclick de se déclencher. Si j'enlève cette ligne ça marche, l'évènement onclick est toujours déclenché. Avez vous une idée pour que je puisse avoir le message d'alerte tout en ayant l'évènement onselectcell pour connaitre le contenu de la cellule où j'étais et l'évènement onclick pour connaitre le contenu de la celulle où je vais?
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 12 juil. 2006 à 09:55
Salut philpas.
J'ai testé ton MessageDlg et cela n'empêche pas le déclenchement de l'événement OnClick !
Ceci dit, je ne vois pas pourquoi tu utilises 2 événements (je te le déconseille même). L'événement OnSelectCell suffit dans ton cas. Tu n'as pas besoin de Onclick pour " connaitre le contenu de la cellulle où je vais".
OnSelectCell t'envoie en paramètres ACol et ARow non pas la cellule active, mais celle où tu désires aller. D'où l'intérêt de CanSelect pour interdire ce déplacement. Pour connaitre dans OnSelectCell la cellule active : tu emploies les propriétés Col et Row.
N'hésite pas si problèmes...
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 9 août 2006 à 13:52
@ ComSystem :
Salut,
si tu désires avoir une réponse à ta question je te conseil de créer un nouveau topic "Nouveau Message"
ici tu es dans un ancien topic et donc très peut de personne y ont accès.