Bonjour,
J'ai un problème avec une TStringGrid. Je construit dynamiquement une image dans celle-ci. J'ai besoin de gérer le clic sur cette image pour la faire disparaitre.
Plus concretement :
Je crée mon imageJ'ai ma fonction du traitement du click
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TImage* CleBox=new TImage(StringGrid1); CleBox->Parent=StringGrid1; CleBox->Picture->LoadFromFile("images\\ok.bmp"); StringGrid1->Objects[ACol][ARow]=CleBox; StringGrid1DrawCell(Sender, ACol,ARow, StringGrid1->CellRect(ACol,ARow),TGridDrawState()); CleBox->OnClick = ImageOnClick;Puis dans StringGrid1SelectCell (donc je simule une selection de la case avec un click sur l'image)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void __fastcall TForm2::ImageOnClick(TObject *Sender) { int Col, Row; StringGrid1->MouseToCell(((TImage*)Sender)->Left, ((TImage*)Sender)->Top, Col, Row); StringGrid1SelectCell(Sender, Col, Row, true); }Puis la je me retrouve avec une violation de mémoire ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 delete StringGrid1->Objects[ACol][ARow]; StringGrid1->Objects[ACol][ARow]=NULL;
Quelqu'un sait d'ou cela peut venir ?
Merci d'avance
Partager