Ascenseur vertical [Résolu]

Messages postés
107
Date d'inscription
lundi 7 février 2011
Dernière intervention
17 février 2018
- - Dernière réponse : ArthurAuguste
Messages postés
107
Date d'inscription
lundi 7 février 2011
Dernière intervention
17 février 2018
- 21 août 2011 à 20:09
Bonjour,
Me voici encore avec mes questions tordues:
Je voudrais que l'ascenseur vertical apparaisse lorsque ma fenêtre est trop petite pour afficher tout le contenu et que je puisse ainsi la faire défiler.
Problème, a priori simple, sauf que dans mon cas, désolé, plusieurs petites complications:
1.- Ma fenêtre que nous appellerons F sur laquelle je veux l'ascenseur est une parmi n de mes fenêtres filles
2.- Ma fenêtre F a en plus un header contrôle que nous appellerons H, la logique voudrait que si le défilement de F fonctionnait, elle devrait glisser vers le haut sous H;
3.- La fenêtre parente de ma fenêtre F est une MDICLIENT qui est elle-même fenêtre fille de ma fenêtre principale que nous appellerons MAIN
Les ascenseurs apparaissent normalement dès que nécessaire sur MAIN, par contre par défaut aucun ascenseur n'apparaît sur F, même lorsque ça serait nécessaire, je peux quand même voir les infos cachés en tirant sur la fenêtre F pour l'agrandir.
Si je force un ascenseur vertical avec WS_VSCROLL, il apparaît bien mais il est inefficace, je peux le baisser en tirant dessus, mais la fenêtre ne défile pas et l'ascenseur se comporte comme un élastique, dès que je le lâche il revient à son point de repos.
Styles de F dans WNDCLASS: CS_VREDRAW | CS_HREDRAW
F créée avec CreateWindowEx et les paramètres: WS_EX_CLIENTEDGE | WS_EX_MDICHILD puis: WS_CHILD |WS_CAPTION | WS_VISIBLE | WS_OVERLAPPEDWINDOW | WS_VSCROLL
H créé avec CreateWindow(WC_HEADER, NULL puis: WS_CHILD | WS_VISIBLE etc...
Merci
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Dernière intervention
19 mars 2015
3
Merci
pour le scroll : le fait de l'ajouter ( = le rendre visible) ne suffit pas
il faut lui donner les infos sur la taille de la fenetre (celle qui va scroller)
regarde du coté de SetScrollInfo et de GetScrollInfo


pour gérer les scrolls, regarde les messages WM_VSCROLL et WM_HSCROLL
tu auras aussi besoin de SetScrollPos (pour positionner le curseur de scroll)
et de ScrollWindow pour effectuer le scroll


tu auras surement besoin de gerer les messages WM_MOUSEWHEEL (molette de la souris) et WM_SIZE (si tu redimensionnes une fenetre avec scroll : dans ce cas tu devras reappeler SetScrollInfo pour mettre à jour les ascenseurs

Merci mogwai93 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de mogwai93
Messages postés
107
Date d'inscription
lundi 7 février 2011
Dernière intervention
17 février 2018
0
Merci
Merci beaucoup pour l'info, je vais regarder ces fonctions et ces messages
@+
Commenter la réponse de ArthurAuguste

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.