récuperer les L et C visibles à l'écran d'une Stringgrid

récuperer les L et C visibles à l'écran d'une Stringgrid - Delphi/Pascal - Programmation

Marsh Posté le 27-06-2002 à 12:47:19    

Bonjour,
 
j'ai créé un composant dérivé de la stringgrid et effectuant un traitement très lourd sur le drawcell. :heink:  
Comment faire pour récupérer seulement les lignes et colonnes affichés à l'écran et ainsi faire le drawcell que pour celles concernées??  :??:  
 
Merci beaucoup d'avance, :jap:  
 
Mikael
 
PS je sais, je sais ça fait 3 questions mais c promis je n'abuserais plus  :ange: et quand je serai grand et fort je vous revaudrai ça  :)

Reply

Marsh Posté le 27-06-2002 à 12:47:19   

Reply

Marsh Posté le 27-06-2002 à 13:28:40    

tu as un ensemble de proprietes du stringgrid qui te donne le nombres de lignes/colonnes affichees et autres info du genre ... poor les noms exacts,le pb C ke j'ai pas de delphi sous la main et j'en ai po fe depuis 8 mois maintenant ...


---------------
Hyndex - Meuaarf !! ReZo !!!
Reply

Marsh Posté le 27-06-2002 à 15:37:41    

Je n'ai pas été assez clair je crois :
 :heink:  Je voudrais récupérer les cellules réellement affichées à l'écran. Je m'explique si j'ai 100 lignes et 30 colonnes mais qu'à l'écran je ne vois que les 10 premières lignes et les 5 premières colonnes j'aimerais récupérer les coordonnées de ces 50 cellules.

Reply

Marsh Posté le 27-06-2002 à 15:55:37    

je me suis donc ausi mal exprime
ces infos sont dispo dans les property du TGrid (je crois), elles te donnent, si je me rapelle bien, le nombre de lignes affichees et l'indice de la premiere affichee => tu as de koa determiner celles ki sont a l'ecran
ahh si j'avais la formidable doc delphi sous la main je ferais un jolie 'F1' poor te nommer ces infos


---------------
Hyndex - Meuaarf !! ReZo !!!
Reply

Marsh Posté le 27-06-2002 à 16:02:48    

LeftCol, toprow, VisibleColCount, VisibleColCount
 
mais je pense bien que l'évenement ondrawcell n'est déclenché que pour les cellules visibles...

Reply

Marsh Posté le 27-06-2002 à 17:07:04    

Taureau a écrit a écrit :

LeftCol, toprow, VisibleColCount, VisibleColCount
 
mais je pense bien que l'évenement ondrawcell n'est déclenché que pour les cellules visibles...




 
impossible car si tu voyais le temps que cela prends dès que je descend l'ascenseur...  :pt1cable:

Reply

Marsh Posté le 27-06-2002 à 17:35:57    

Ha oui j'allais oublier :  
 
MERCI  :jap:  
je crois bien qu'avec ça je vais m'en sortir, je vous tiens au courant

Reply

Marsh Posté le 28-06-2002 à 14:47:50    

Code :
  1. procedure TStringGrid.WMPaint(var Message: TWMPaint);
  2. var
  3.   Ligne, Colonne : LongInt;
  4.   for ligne := topRow to topRow+VisibleRowCount+1 do begin...
  5.     for Colonne := LeftCol to LeftCol+VisibleColCount do begin...


 
ainsi seule la partie visible est dessinée et c'est parfait!!  :D  
Merci à vous de m'avoir aidé   :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed