Accueil > Forum > > > > Contour d'une Form arrondi
Contour d'une Form arrondi
jeudi 12 juillet 2007 à 19:51:55 |
Contour d'une Form arrondi

EvilGost
|
Bonjour à tous, Je suis en .NET et j'ai une form sans bordures (FormBorderStyle=none), donc je n'ai plus de bordures et de controlbox, car j'aimerai moins même faire ma propre forme avec les boutons de mon choix. J'ai, cependant, créer des images donnant l'impression d'avoir les bordures de la form arrondies (un peu comme windows live messenger), mais quand je lance l'appli, on voit du blanc aux 4 coins de l'application (on voit la background de la form). Je souhaiterai obtenir ce résultat: [ Lien ]Savez-vous comment faire pour que l'on voit plus le fond de la form rectangulaire? Merci beaucoup pour votre aide EvilGost [;)]
|
|
jeudi 12 juillet 2007 à 19:57:58 |
Re : Contour d'une Form arrondi

jack
|
Salut Tu tapes "forme arrondie" dans le moteur de recherche du site + case à cocher ".Net uniquement" et tu auras quelques sources qui en parlent
Vala Jack, MVP VB NB : Je ne répondrai pas aux messages privés
|
|
vendredi 13 juillet 2007 à 10:58:42 |
Re : Contour d'une Form arrondi

EvilGost
|
Effectivement, il y a 3 source sur VBFrance, malheureusement, l'une n'est pas adapté, le deuxieme n'a rien a voir,et la troisieme ne fonctionne pas...c'est pour ca que je poste ici, je n'arrive pas à trouver de source qui fonctionne...
EvilGost [;)]
|
|
vendredi 13 juillet 2007 à 11:44:29 |
Re : Contour d'une Form arrondi

rt15
|
Salut, Regarde du côté des régions. C'est vraiment simple d'arrondir les bors d'une fenêtre avec ça.
|
|
vendredi 13 juillet 2007 à 11:47:25 |
Re : Contour d'une Form arrondi

thephil
|
j'ai eu à faire un programmeau forme original, j'ai fait ça à l'aide de la transparence (cherche ce terme sur le forum). En fait il te suffis d'appliquer la transparence à ta form, et si tu as par exemple une image possée sur cette form, ta form prendra les contours de l'image !
voilà le code, qui vient d'ici si je me souviens bien, donc merci à son auteur ! par contre c'est du vb6 !!! donc à adapter certainement si tu es en .net....
dans un module ----------------------------------------------------------------------------- Public Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal X As Long, ByVal Y As Long) As Long Public Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Public Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long Public Declare Function ReleaseCapture Lib "user32" () As Long Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Const WM_NCLBUTTONDOWN = &HA1 Public Const HTCAPTION = 2 Public Const RGN_OR = 2
Public Function MakeRegion(picSkin As PictureBox) As Long ' faites une fenêtre "région" basée sur une picture de picture box ' Ceci ce fait en passant l'image pixel par pixel et en créant une ' région pour chaque pixel non transparent ' Le code est optimisé, il est donc assez rapide Dim X As Long, Y As Long, StartLineX As Long Dim FullRegion As Long, LineRegion As Long Dim TransparentColor As Long Dim InFirstRegion As Boolean Dim InLine As Boolean Dim hDC As Long Dim PicWidth As Long Dim PicHeight As Long hDC = picSkin.hDC PicWidth = picSkin.ScaleWidth PicHeight = picSkin.ScaleHeight InFirstRegion = True: InLine = False X = Y = StartLineX = 0 ' Ici, la couleur de transparence est basé sur le pixel en haut a gauche ' Mais vous pouvez mettre la couleur ke vous voulez TransparentColor = GetPixel(hDC, 0, 0) For Y = 0 To PicHeight - 1 For X = 0 To PicWidth - 1 If GetPixel(hDC, X, Y) = TransparentColor Or X = PicWidth Then If InLine Then InLine = False LineRegion = CreateRectRgn(StartLineX, Y, X, Y + 1) If InFirstRegion Then FullRegion = LineRegion InFirstRegion = False Else CombineRgn FullRegion, FullRegion, LineRegion, RGN_OR DeleteObject LineRegion End If End If Else If Not InLine Then InLine = True StartLineX = X End If End If Next Next MakeRegion = FullRegion End Function -------------------------------------------------------------- ********************************************** puis dans ton forma load, tu rajoutes un truc du genre : --------------------------------------------------------------
Dim WindowRegion As Long 'Propriétés de la picture box Picture1.AutoRedraw = True Picture1.AutoSize = True Picture1.BorderStyle = 0 Picture1.ScaleMode = 3 'Position de la picture box Picture1.Top = 0: Picture1.Left = 0 '"Découpe" la form suivant Picture1 WindowRegion = MakeRegion(Picture1) SetWindowRgn Me.hWnd, WindowRegion, True
-------------------------------------------------------------- **********************************************
|
|
vendredi 13 juillet 2007 à 11:57:17 |
Re : Contour d'une Form arrondi

EvilGost
|
Réponse acceptée !
Et bien en fait, après de multiples recherche, je viens de trouver une solution, en .NET, c'est vraiment tout con, mais bon, faut le savoir. Il suffit de sélectionner le formulaire, et de mettre la propriété BackColor = Red. Ensuite, toujours dans les propriétés de la form, mettez TransparencyKey à Red. Lancez l'appli et hop , tout ce qui est rouge est transparent.
Merci à Jack, RT5 et ThePhil pour votre aide ;)
EvilGost [;)]
|
|
vendredi 13 juillet 2007 à 13:05:48 |
Re : Contour d'une Form arrondi

TeBeCo
|
le pb de transparency key c'est que tu peux pas la mettre a transparent car la classe Form ne l'accepte pas comme etant possible donc si tu voulais joué avec les nuance de couleur ca marchera pas ... (et l'opacité a rien a voir des fois que qqun tente :p) de manière plus general il est GRANDEMENT prérable de ne pas passer par une couleur et un transparencykey juste pour des coin arrondi mais de directement manier les region GDI avec des forme ou/et des graphicpath ca lui evite deja de dependre d'un fichier externe d'etre plus lent de prendre plus de RAM ect ....
et pour "thephil" vu que tu est passé en vb.net oublie les API windows pour faire du GDI presque tout existe en Managé dans le framework 0 API pour joué avec les regions c'est deja tout defini dans System.Drawing. il suffit de créé 4 droites et 4 arc de cercle ca fait 8 ligne et c'est reglé
TeBeCo
|
|
vendredi 13 juillet 2007 à 13:07:11 |
Re : Contour d'une Form arrondi

TeBeCo
|
et encore je suis en train de me demander si en definissant les arc il demandera pas le point de depart et l'angle auquel cas il relirais les arc entre eux donc si tu les fait dans l'ordre ca ferai jsute les 4 definitions des 4 angles et c'est tout
TeBeCo
|
|
Cette discussion est classée dans : form, arrondi, voit, contour, bordures
Répondre à ce message
Sujets en rapport avec ce message
Changer la couleur des bordures d'un form [ par barth707 ]
Bonjour,je cherche a changer la couleur des bordures des formulaires de mon projet, plutot que le bleu de windows j'aimerais du vert.Voila merci pour
changement de form sans que ca se voit [ par lirmo ]
Bonjour, J'aimerais changer de form sans que ca se voit, car cela fait très bizarre. Pourriez-vous me donner la solution?? Merci
Chargement d'une form [ par Bernard74 ]
Bonjour, J'ai un problème pour charger une form avec l'instruction suivante : Private Sub NomenclatureActesToolStripMenuItem_Click(ByVal sender A
"envoyer et sauvegarder des valeurs" d'une form à une autre. [ par palm90 ]
Bonjour, j'ai un programme avec 3 forms. La première permet de sélectionner un item parmi des listboxs et d'appuyer sur un bouton chronomètre.La deux
Manipulation des form mdi [ par aminvitch ]
[size=200]S il Vous palais je veux une ptite aide .......... je veux rendre une form mdi qui saffiche dans un menu au centre de menu principale et per
smtp [ par clementgeek41 ]
Bonjour j ai fait un programme en vb 2010 et j ai créer une form pour indiquer adresse email gmail et le mot de passe mais je ne sais pas comment le r
Problème avec un form [ par Vigneronjul ]
Bonjour à tous, Je vous expose un petit problème auquel je n'ai encore jamais été confronté. Je passe de form en form au fur et a mesure de mon pro
Submit une form [ par mchurlet ]
Bonjour, J'ai une form HTML à soumettre mais lorsque j'utilise l'action submit, les données ne sont pas prise en compte et la page est rechargée sans
RS232 [ par laurentkreps ]
Bonjour, j'ai parcouru ce forum (et d'autres) et il me semble que pas mal de personnes ont du mal avec le RS232. J'ai aussi l'impression que tout ça
ajouter barres de deftlement a une form vb6 [ par qaskaror ]
bonjour si vous avez une idée comment ajouter les barres de défilement horizontales et verticales a une form vb6 . "il est nécessaire de les ajouter
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|