PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Détection Redimension d'une colonne & API
Détection Redimension d'une colonne & API
Débuté par Michel Lahellec, 10 jan. 2005 19:42 - 4 réponses
Posté le 10 janvier 2005 - 19:42
Bonjour
Je dois maintenir visuellement équivalente deux tables GrilleSource et GrilleDesti.
Je détecte bien la modification de la taille d'une colonne avec un code
basé sur Événement:
Evénement("MouvementColonne","GrilleSource",70)
Je parcours ensuite chaque colonne de ma grilleSource, et applique la tailleà GrilleDesti.

Je recherche une solution plus élégante, basée sur une API, du genre SendMessage.
Je n'ai rien trouvé sur le Net à ce propos.
Merci d'avance.
Michel
Posté le 10 janvier 2005 - 14:22
La solution pour ton problème :

C:\WinDev8\Exemples\Hyper File - Fenetres assistance automatique\Modif.wdw


"Michel Lahellec" <kerloi.armor@sympatico.ca> a écrit dans le message de
news: 41e2b400$1@news.pcsoft.fr...

Bonjour
Je dois maintenir visuellement équivalente deux tables GrilleSource et
GrilleDesti.
Je détecte bien la modification de la taille d'une colonne avec un code
basé sur Événement:
Evénement("MouvementColonne","GrilleSource",70)
Je parcours ensuite chaque colonne de ma grilleSource, et applique la
tailleà GrilleDesti.

Je recherche une solution plus élégante, basée sur une API, du genre
SendMessage.
Je n'ai rien trouvé sur le Net à ce propos.
Merci d'avance.
Michel
Posté le 11 janvier 2005 - 10:26
Voici un exemple de code qui marche pour mon application

hwndbarh est un entier = AppelDLL32( "user32" , "FindWindowExA" , Handle(TBL_ADRS_ORIGINE), Null , "WDSCROLLBAR" , Null )

SI hwndbarh ET defilement_fenetre ALORS
defilement_fenetre = Faux
SendMessage( Handle(TBL_ADRS) , _EVE.wmessage , _EVE.wparam , hwndbarh)
SINON
defilement_fenetre = Vrai
FIN

La variable defilement fenetre est utilisée pour ne pas boucler, car j'ai la même procédure appelée dans mes deux tableaux.

Pascal Le Brun
Posté le 11 janvier 2005 - 23:22
Comme j'ai cherché assez longtemps ces codes, je les mets au clair..
Merci aux personnes sur ce groupe.

Dans une application, j'ai besoin de synchroniser deux tables.
Horizontalement et lors de modification de largeur de colonne.

Pour synchroniser l'ascenseur horizontal, le code suivant est placé dans l'événement Ascenseur horizontal de la grille:
----
hwndbarh est un entier
hwndbarh=AppelDLL32( "user32" , "FindWindowExA" , Handle(Grille1), Null, "WDSCROLLBAR" , Null )
SI hwndbarh ALORS
SendMessage( Handle(Grille2) , _EVE.wmessage , _EVE.wparam , hwndbarh)
FIN
----
Pour synchroniser la modification des largeurs de colonne.
Deux Procédures locales:
---
FONCTION MouvementColonnegrille1(Message, wParam, lParam)
SendMessage( Handle("Grille2"), Message , wParam, lParam )
FONCTION MouvementColonnegrille2(Message, wParam, lParam)
SendMessage( Handle("Grille1"), Message , wParam, lParam
---
On capture l'événement Modification de taille dans la zone de code initialisation de la fenêtre:

Evénement("MouvementColonnegrille1","Grille1",1743)
Evénement( "MouvementColonnegrille1","Grille2", 1743)

Michel Lahellec, Montréal
Posté le 06 avril 2005 - 18:50
Merci de ta contribution ...
Ça m'a été très utile pour le redimensionnement des colonnes.

Christian


"Michel Lahellec" <kerloic.armor@sympatico.ca> a écrit dans le message de
news: 41e43924@news.pcsoft.fr...
Comme j'ai cherché assez longtemps ces codes, je les mets au clair..
Merci aux personnes sur ce groupe.

Dans une application, j'ai besoin de synchroniser deux tables.
Horizontalement et lors de modification de largeur de colonne.

Pour synchroniser l'ascenseur horizontal, le code suivant est placé dans
l'événement Ascenseur horizontal de la grille:
----
hwndbarh est un entier
hwndbarh=AppelDLL32( "user32" , "FindWindowExA" , Handle(Grille1), Null,
"WDSCROLLBAR" , Null )
SI hwndbarh ALORS
SendMessage( Handle(Grille2) , _EVE.wmessage , _EVE.wparam , hwndbarh)
FIN
----
Pour synchroniser la modification des largeurs de colonne.
Deux Procédures locales:
---
FONCTION MouvementColonnegrille1(Message, wParam, lParam)
SendMessage( Handle("Grille2"), Message , wParam, lParam )
FONCTION MouvementColonnegrille2(Message, wParam, lParam)
SendMessage( Handle("Grille1"), Message , wParam, lParam
---
On capture l'événement Modification de taille dans la zone de code
initialisation de la fenêtre:

Evénement("MouvementColonnegrille1","Grille1",1743)
Evénement( "MouvementColonnegrille1","Grille2", 1743)

Michel Lahellec, Montréal