Bonjour,
Dans une StringGrid avec goColSizing à True , je voudrais bloquer l'étirement (horizontal) à la souris d'une seule colonne de manière ergonomique... (les autres restant redimensionnables).
Ce code placé dans le onHeaderSize n'interdit pas l'étirement de la colonne mais remet le ColWidth[x] à sa valeur d'origine lorsqu'on relache le bouton gauche de la souris
Je préfèrerais intercepter l'évènement qui correspond au déplacement de la souris dans la Row gsFixed (ie Cells[0,y]) de la StringGrid avec bouton [ssLeft] de la souris enfoncé. J'ai essayé dans onMouseMove du StringGrid. C'est mieux (la colonne ne se redimensionne plus) mais un effet très désagréable de scintillement apparaît dans les barres de scroll...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 begin GetCursorPos(P); P := StringGrid1.ScreenToClient(P); StringGrid1.MouseToCell(P.X,P.Y,ACol,ARow); if ARow = 0 then if Acol = 2 then StringGrid1.ColWidths[Acol-1] := 64; //taille d'origine end;
Existe-t-il une méthode meilleure ?
Merci de votre aide. Cordialement. Gilles
Partager