2010-06-01 5 views
1

En C# (.Net), vous pouvez créer un panneau et définir l'autodécollage sur true. vous pouvez alors y ajouter des contrôles, y compris au-delà de sa taille, puis il défilera.Commande de défilement automatique (WinAPI)?

Je me demandais si en utilisant le vrai WinAPI en C++ (pas .net) comment on pourrait obtenir le même résultat. Dois-je garder une trace des contrôles à l'intérieur et les déplacer tous quand je fais défiler ou est-il un moyen plus facile comme en C#.

Merci

Répondre

0

Pour un contrôle d'édition (textbox), vous pouvez fournir ES_AUTOVSCROLL lors de la création via CreateWindow ou CreateWindowEx. Pour ajouter une barre de défilement pour plusieurs contrôles dans une fenêtre, je crois que vous devez le faire manuellement. Ecrire une fonction pour additionner la hauteur verticale de tous les contrôles enfants + espacement entre eux et si elle est plus petite que la fenêtre, ajoutez une barre de défilement verticale, si elle est plus grande, supprimez la barre de défilement verticale (si elle existe). Assurez-vous de l'appeler après avoir ajouté/supprimé des contrôles enfants et sur le redimensionnement de la fenêtre.

Questions connexes