Probleme d'affichage de Hint et/ou Struct
Bonsoir,
Un petit soucis....Voila j'ai, contenu dans un TList, une liste de Structs qui contiennent des donn�es repr�sentant des �v�nements dans un agenda.
(heure de d�but de rdv, nom du rdv, heure de fin, etc, etc...par ex)
Ces donn�es sont affich�es dans un TStringGrid, rien d'exceptionnel.
Je veux afficher un beau Hint, lors du survol par la souris d'une plage contenant un �v�nement; ce Hint reprenant une partie des �l�ments de la struct correspondant.
Le probl�me est que, si j'ai trois rdv a trois dates diff�rentes dans la semaine affich�e, il ne r�agis que lors du survol de la plage du dernier rdv...les autres sont ignor�s.
J'ai plac� de beaux 'ShowMessage(...)' dans le code a certains endroits et il lis bien les valeurs et devrait afficher les infos dans le Hint...mais rien. :?
Je dois merder qqpart, c'est clair, ya pas de magie.
Ci joint le code du OnMouseMove du TStringGrid:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
SGvisu->Hint = "";
try
{
pPos = SGvisu->MouseCoord(X, Y); int i;
if (pPos.X > - 1 && pPos.Y > - 1)
{
AnsiString S = SGvisu->Cells[pPos.X][pPos.Y].SubString(3, SGvisu->Cells[pPos.X][pPos.Y].Length()); //on repère le texte survolé
for (i = 0; i < ListeAgenda->Count; i ++)
{ //parcours de la TList
eventAGenda = (agstruct)ListeAgenda->Items[i]; //on selectionne un a un les struct désignés par la TList
if ( eventAGenda->HDeb == S || eventAGenda->HFin == S || eventAGenda->Texte == S )
{ //une de ces propriétés est forcement affichée si le struct est crée
if ( eventAGenda->nbTodo > 0 )
{//on charge les infos pour le hint
SGvisu->Hint = eventAGenda->Todo[0];
for ( int j = 1; j < eventAGenda->nbTodo; j ++ )
{
SGvisu->Hint = SGvisu->Hint + AnsiString("\n") + eventAGenda->Todo[j];
}
}
else
{
SGvisu->Hint = "";
}
}
else
{
SGvisu->Hint = "";
}
}
}
}
catch(...)
{
//code...
} |
Si quelqu'un a une petite id�e...merci d'avance.
@ + ;)