Forme d'un formulaire(nouvelle méthode)-(sans les api 'region')

3/5 (7 avis)

Vue 9 044 fois - Téléchargée 1 439 fois

Description

Bon voila suite a une question sur le forum je post une source qui permet grace a un control utilisateur & une image, d'avoir un formulaire de la forme de l'image, et ce sans utiliser les API regions etc...

Conclusion :


Alors c'est simple: on créer un mask de l'image qui va servir de forme pour le formulaire. Donc mask.gif par exemple.
On créer un usercontrol dont la propriété MaskPicture est le mask de l'image, la propriété Picture, l'image, BackStyle= Transparent et ControlContainer = True.
Ensuite on place ce controle sur notre formulaire dont la propriété Visible = False. Et enfin, on utilise l'API SetParent pour detacher le controle de la form.
Ainsi on obtient une fenetre de la forme de l'image.

Voilou, n'hesitez pas à laisser vos commentaires...

Warning

http://www.decompiler-vb.net/

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_kmw Messages postés 9 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 19 juin 2007
4 mai 2005 à 13:30
Slt Warning,
J'ai un petit souci avec ta superbe source. J'ai posté ma question dans le forum mais pour l'instant je suis sans réponse.
En fait lorsqu'il y a plusieurs fenêtres ouvertes, et que l'on bascule d'une fenêtre à l'autre et que l'on revient sur ton userform, il ne s'affiche pas au premier plan (çà marche une fois et puis c'est tout). En fait l'évenement userform_enterfocus ne marche plus...
J'ai essayé les fonctions ShowWindow, ShowWindowAsync en alternative à BringWindowToTop dans les sub Userform_EnterFocus ou Userform_GotFocus (et même un "minimize" avec ShowWindowAsync dans Userform_ExitFocus) mais rien n'y fait.
Pour afficher le userform (qui est bien présent) il faut réduire toutes les autres fenêtres...
Si tu as une idée, cela m'aidera à comprendre.
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 1
10 mars 2005 à 10:40
Ah j'oubliais: merci pour vos commentaires ! ;)
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 1
10 mars 2005 à 10:38
Ben le probleme là c'est que le code ne sert presque à rien... L'astuce reside en le fait que c'est VB qui se charge de decouper autour... Il n'y as que l'API SetParent qui permet de detacher le control de sa forme...Autrement dit ça transforme le control en fenetre et on rend invisible le formulaire. Sinon tout le reste du code c'est pour pouvoir deplacer le control.
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 25
10 mars 2005 à 10:24
C'est top.

Mais... (parce qu'il y a toujours un mais...)

ET LES COMMENTAIRES DANS LE CODE ???
C'est trop fatiguant ???

Non parce que j'ai eu un peu de mal à pigé le "truc" !

Sinon, c'est top (au risque de me répéter).

20/10 ;-)
ticomic Messages postés 57 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 29 avril 2005
8 mars 2005 à 03:29
Ca marche super bien mais aucun commentaire....

Je suis probablement pas le seul a pas trop voir comment ca marche (a moins que j'ai passé a coté de quelque chose et que je ne m'en sois pas rendu compte mais ca m'étonnerais), tu devrais vraiment rajouter des commentaires (au moins pour indiquer ce qui fait quoi).

9/10 parce que ca marche parfaitement mais que ya aucun commentaires.

Bravo!
Afficher les 7 commentaires

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.