Controlez le redimentionnement et le déplacement de vos fenêtres

Description

Ce petit code de subclassing va vous permettre de :

- controler le redimentionnement de vos fenêtres et donc le limiter à vos souhaits (par exemple, minimum et maximum) et aussi éviter de le faire une fois que la fenêtre est déjà redimentionnée (événement Form_Resize) ce qui ne faisait pas un très bel effet. C'est par exemple ce que fait la fenêtre des consoles win32.
- controler leur déplacement (pas très réussi par windows ça..).
- savoir quand elles ont été déplacées (ajout d'un événement Form_Move que VB ne possède pas).
- savoir quand elles vont être redimentionnées (et donc redimentionner vos controles avant le redimentionnement de la fenêtre).

J'ai ajouté 2 exemples :
- faire que la taille soit un multiple de 40.
- émanter la fenêtre sur les bords de l'écran quand elle s'en rapproche.

Points abordés :
- subclassing avec gestion des messages WM_SIZE, WM_SIZING, WM_NCCALCSIZE, WM_MOVE et WM_MOVING.
- remplissage d'une structure (et d'une variable en général) à partir de son pointeur avec CopyMemory.

Source / Exemple :


Voyez dans le zip, c'est plus sympa !

Conclusion :


Si vous avez des remarques, elles sont les bienvenues...

mehdibou (ou Mehdi si vous préférez).

Codes Sources

A voir également

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.